2012-07-27 53 views
0

我使用ListView顯示數據庫中的所有記錄。列表的每一行都有一個額外的複選框。我想製作一個按鈕,當按下時將刪除所有檢查的記錄。但是,當我遍歷列表並嘗試使用getChildAt(index)獲取對行的引用時,我只能達到3個初始條目,因爲其餘部分都是隱藏的,在應用程序中我必須使用滾動條。達到ListView的所有條目

我如何能達到他們這樣的事情能正常工作:

for(int i = 0; i < taskList.size(); i++){ 
    View row = list.getChildAt(i); 
    CheckBox checkBox = (CheckBox)row.findViewById(R.id.checkbox) 
} 
+3

這是一個listView與自定義適配器?請將代碼發佈到listView的位置。 – 2012-07-27 14:16:03

+0

這裏我已經在前面做過這個例子。 http://stackoverflow.com/questions/8851829/how-can-i-select-and-kill-multiple-application – 2012-07-27 14:18:02

+0

http://stackoverflow.com/questions/7329856/how-to-use-radiogroup-in-列表視圖定製適配器 – MAC 2012-07-27 14:18:21

回答

2

而不是通過視圖進行迭代,具有的來頭適配器的數據有一個字段/變量它是將跟蹤檢查的州。那麼,只需遍歷你的集合,並刪除所有被檢查的。然後notifydatasetchanged