2012-01-21 24 views
2

在Android中,我構建了一個ListView AA(在Activity A中),該ListView從存儲在Resources中的String數組中充氣。 ListView中的每個項目都會打開另一個ListView BB(在Activity B中),它與Resources中的另一個String數組類似。活動B的ListView包含TextView和CheckBox的行。每個BB列表視圖都是唯一的,並依賴於列表視圖AA。如何獲取非活動視圖的複選框ID?

然後我使用每個複選框的狀態添加到ArrayList或從ArrayList中刪除。 ArrayList最終將包含從ListView BB中選擇的項目。

問題是,當我返回到ListView AA時,我希望能夠獲得所有複選框的狀態,而不管它是否已經打開相應的BB listview,並根據某些條件更改它們。由於每個複選框ID不是唯一的,我怎樣才能找到每個複選框的狀態?

回答

0

您將無法遍歷複選框本身,因爲如果您的列表滾動,不在屏幕上的複選框實際上不存在。

爲了正確保存列表狀態,您應該使用其他一些機制。由於列表視圖AA是從字符串數組資源填充的,儘管聽起來很粗糙,但您最好將項目的已檢查狀態存儲在活動的私有列表中。無論如何,你可能想要一個自定義列表適配器並重寫getView()。

希望有所幫助。