我在Expandable ListView中顯示來自SQLite數據庫的條目,並且一切正常,但是我想添加在所有子項旁邊的複選框中。每次我檢查一個複選框,然後向下滾動或合同我檢查過的複選框不會保存複選框的狀態。我知道,只要我向下滾動並展開組等,這個列表就會被回收。我怎樣才能保存每個複選框的狀態(每個孩子)?我有一個擴展了CursorTreeAdapter的類,並且方法中沒有「childPosition」。爲了拯救國家我需要做些什麼?如何在可擴展列表視圖中保存複選框的狀態 - Android
2
A
回答
1
您可以擁有一個大小與列表元素總數相同的布爾型標誌數組,並設置並從該數組中爲任何組件獲取檢查值。
0
另一個解決方案是你可以在列表視圖中爲每個元素保存一個計數器。例如,如果您有Person列表,您可以在Person類中添加一個計數器變量。
而在getChildView方法中,把所有的代碼放在下面的if塊中;
public View getChildView(final int groupPosition, final int childPosition, boolean isLastChild, View convertView, final ViewGroup parent) {
//FOR SAVE THE STATES!!
if(parents.get(groupPosition).getCounter()==0) {
DatePicker datePicker = null;
Button ok = null;
Spinner installment = null;
CheckBox creditCard;
......//BLA BLA BLA
//After finish your codes, increment the counter
parents.get(groupPosition).setCounter((parents.get(groupPosition).getCounter()+1));
}
return convertView;
}
因爲對於每個調用的expandGroup方法,所有的初始化(現在這些都在if塊中)重複。因爲這樣你就失去了你的物體狀態。
希望得到這個幫助。
相關問題
- 1. Android-在列表視圖中保存複選框狀態
- 2. Android:列表視圖不保存複選框的狀態
- 3. 如何保存列表視圖中複選框的狀態永遠存在?
- 4. 如何保存在Android應用列表複選框狀態?
- 5. 在多選列表視圖中保存複選框的選中狀態
- 6. 如何使用sharedpreference在列表視圖中保存複選框狀態
- 7. 在列表視圖中保持複選框狀態
- 8. 複選框在可擴展的列表視圖
- 9. 保存複選框項目的狀態在一個多選列表視圖
- 10. Android的列表視圖中的複選框的狀態
- 11. ToggleButton在自定義可擴展列表視圖中的狀態
- 12. 保存複選框狀態的Android xamarin
- 13. 複選框狀態並不在列表視圖保持
- 14. 保存複選框狀態
- 15. 的Android展開列表視圖它改變選定複選框狀態
- 16. Android,複選框隨機選中/未選中可擴展列表
- 17. 將editText框的值保存到Android的可擴展列表視圖中
- 18. 保存複選框狀態
- 19. Android中的可擴展列表視圖
- 20. 使用陣列適配器保存列表視圖simple_list_item_multiple_choice複選框狀態
- 21. Android Custom ListView複選框保存狀態
- 22. 將複選框的狀態保存在列表中
- 23. Android如何保存我的列表視圖的狀態
- 24. 在RecyclerView中保存複選框狀態
- 25. 在SharedPreferences中保存複選框狀態
- 26. 保存和恢復視圖狀態android
- 27. 關於列表視圖內的複選框的選中狀態
- 28. 使用CursorAdapter在列表視圖中維護複選框狀態
- 29. 從共享首選項列表中保存複選框狀態
- 30. 存儲複選框組視圖狀態
感謝您的回覆。在哪種方法下,我會調用這個數組來設置一個複選框來檢查我是否回滾了?另外,你能提供一些示例代碼嗎? – user990230 2012-01-09 05:31:24
你需要在getChildView方法中使用這個數組,每當你回滾或設置適配器時它都會被調用,我現在還沒有任何示例,但是你可以搜索並按照鏈接自定義可擴展列表視圖,你會得到足夠的幫助。 – jeet 2012-01-09 05:42:07