2013-05-09 2 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

+0

하지만 무엇이 잘못되었는지 말해 줄 수 있습니까? 그 둘의 차이점은 무엇입니까 ?? 문안 인사 – Tayseer

관련 문제