2013-05-09 74 views
0

我試圖做一個ListView簡單列表多項選擇,但是當我選擇例如項目編號1和3時,返回的值將數字1和2,如果我選擇了5個隨機選擇,返回的值將是前5個值。ListView簡單列表多項選擇不返回正確的值

SparseBooleanArray checked = modeList.getCheckedItemPositions(); 
for (int i = 0; i < checked.size(); i++) { 
     if (checked.valueAt(i) == true) { 
      String tag = (String) modeList.getItemAtPosition(i); 
      checkedItems.add(tag); 
     } 
} 

我說過,不管我選擇值將始終返回第一項列表的即使選擇是隨機選擇的。

回答

1

SparseBooleanArray有點棘手。你應該用結構是這樣的:

SparseBooleanArray checked= listView.getCheckedItemPositions(); 
for (int i = 0; i <= checked.size(); i++) { 
    if (checked.valueAt(i)) 
     yourListAdapterArray[checked.keyAt(i)]; 
} 

此外,也沒有必要的:

if (checked.valueAt(i) == true) 

更好地使用簡單:

if (checked.valueAt(i)) 
+0

你肯定解決我的問題,你有我的真誠謝謝。 – Tayseer 2013-05-12 06:27:21

+0

但是,你能告訴我哪裏出了問題,他們兩個之間有什麼區別?問候 – Tayseer 2013-05-12 06:28:48

相關問題