2011-04-07 76 views
0
SparseBooleanArray selectedItem=catogoryList.getCheckedItemPositions(); 
    for(int i=0;i<selectedItem.size();i++) 
    { 
     System.out.println("Array val:"+selectedItem.valueAt(i)); 
     if(selectedItem.valueAt(i)) 
     { 
      if(temp.contains(list.get(position))) 
      {} 
      else 
      temp.add(list.get(position)); 
     } 
     else 
     { 
      temp.remove(list.get(position)); 
     } 
    } 

我使用的ListView與multiple_choice(列表視圖與複選框),當我得到一個與出滾動我收到正確的價值觀,如果我滾動列表視圖我沒有得到正確的價值觀在檢查列表視圖項目。我發現selectedItem.valueAt(我)我滾動時檢查項目時得到錯誤。我不知道爲什麼虛假的價值是返回而不是真正的價值。列表視圖與multiple_choice問題

回答

0

你如何獲得你的價值觀?這個過程應該是這樣的:

SparseBooleanArray checked = getCheckedItemPositions(); 
    List<String> checkedResult = new ArrayList<String>(); 

    for (int i = 0; i < checked.size(); i++) { 
     if (checked.valueAt(i)) { 
      checkedResult.add(getAdapter().getItem(checked.keyAt(i)).toString()); 
     } 
    } 
    return checkedResult; 
+0

好的答案謝謝.... – NandaKumar 2011-04-08 05:21:59