我在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. 如何保存列表視圖中複選框的狀態永遠存在?
- 3. 如何保存在Android應用列表複選框狀態?
- 4. 在多選列表視圖中保存複選框的選中狀態
- 5. 如何使用sharedpreference在列表視圖中保存複選框狀態
- 6. 複選框在可擴展的列表視圖
- 7. Android的列表視圖中的複選框的狀態
- 8. 的Android展開列表視圖它改變選定複選框狀態
- 9. 保存複選框狀態
- 10. 將editText框的值保存到Android的可擴展列表視圖中
- 11. Android中的可擴展列表視圖
- 12. 使用陣列適配器保存列表視圖simple_list_item_multiple_choice複選框狀態
- 13. Android Custom ListView複選框保存狀態
- 14. 將複選框的狀態保存在列表中
- 15. 保存和恢復視圖狀態android
- 16. 關於列表視圖內的複選框的選中狀態
- 17. 從共享首選項列表中保存複選框狀態
- 18. 可擴展列表視圖
- 19. Android的可擴展列表視圖
- 20. 如何保持列表視圖複選框狀態持續存在於自定義對話框中
- 21. 在android中的listview中保存複選框狀態?
- 22. 可擴展列表視圖複選框正在檢查多個框
- 23. 如何使用複選框創建可擴展列表視圖活動?
- 24. 安卓保存自定義列表視圖複選框狀態sharedpreferences問題
- 25. 可擴展列表視圖android
- 26. Android可擴展列表視圖
- 27. Android可擴展列表視圖
- 28. Android可擴展列表視圖
- 29. 如何在提交表單後保存複選框狀態
- 30. 列表視圖itemupdating事件中的複選框狀態
感謝您的回覆。在哪種方法下,我會調用這個數組來設置一個複選框來檢查我是否回滾了?另外,你能提供一些示例代碼嗎? – user990230 2012-01-09 05:31:24
你需要在getChildView方法中使用這個數組,每當你回滾或設置適配器時它都會被調用,我現在還沒有任何示例,但是你可以搜索並按照鏈接自定義可擴展列表視圖,你會得到足夠的幫助。 – jeet 2012-01-09 05:42:07