2013-03-03 2 views
2

나는 그때이 내가 현재 목록에서 개별 항목을 확인하는 방법입니다 simple_list_item_multiple_choiceArrayList의 모든 항목을 확인하는 방법은 무엇입니까?

에서 사용자에게 표시되는 배열 목록에 두는 SQLite 데이터베이스에서 문자 메시지를 읽습니다. (이 코드는 내입니다 내 onclick)

final TextMessagesList backupSms = new TextMessagesList(txtList); 
        String selected = ""; 
        int cntChoice = smsListView.getCount(); 
        SparseBooleanArray sparseBooleanArray = smsListView.getCheckedItemPositions(); 
        for(int i = 0; i < cntChoice; i++){ 
         if(sparseBooleanArray.get(i)) { 
          selected += smsListView.getItemAtPosition(i).toString() + "\n"; 

         } 
        } 
Toast.makeText(Backup.this,selected,Toast.LENGTH_LONG).show(); 

개별 체크 박스를 선택한 다음 선택한 것을 토스트 할 수 있습니다. 내 질문은 목록의 첫 번째 항목을 확인할 때/모든 항목을 확인하는 방법입니다.

아무도 내가 다음에해야 할 일을 해결할 수 있도록 도와 줄 수 있습니까?

도움을 주셔서 감사합니다. 대단히 감사합니다.

답변

2

Emanuel의 대답에 따라 확인란을 선택해야하지만 ListView에서 어떤 항목이 선택되었는지, 어떤 항목이 선택되어 있지 않은지에 대해 확실하게 알 수 없습니다. ,

for (int x = 0; x < smsListView.getCount(); x++) { 
    smsListView.setItemChecked (x, true); 
} 

이 모든 선택을 취소하려면 같은 템플릿을 따르지만, false으로 true 교체 : 안전을 위해, 내가 대신 getCount()setItemChecked()을 사용합니다.

+1

Hey @ A-C 나는 당신의 방법을 시도하고 나는 그것이 작동하도록했습니다, 그냥 당신의 도움에 감사드립니다. – Randrm

+0

당신을 환영합니다 :-)이 작품을 듣고 반갑습니다! –

0

귀하의 질문과 함께 귀하의 질문에 대한 해석을위한 공간을 남겨주세요. 즉 당신이 필요, 다음 질문에 자세히 설명해 아니라면

int count = smsListView.getChildCount(); 
for (int i = 0; i < count; i++) { 
    CheckedTextView v = (CheckedTextView) smsListView.getChildAt(i); 
    v.setChecked(true); 
} 

: 질문에 대한 가능성이 해답이 될 것입니다 내 해석에서 .

+0

왜 ['setItemChecked()'] (http://developer.android.com/reference/android/widget/AbsListView.html#setItemChecked (int, % 20boolean))를 사용하지 않으시겠습니까? –

+0

안녕하세요 엠마누엘, 내 코드가 해석의 여지를 남겨 두었다고 생각합니다. 귀하의 방법을 시도했지만 항목을 클릭 할 때 모든 것을 선택하지 않는 것 같습니다. 내가 뭘 하려는지 모든 상자를 확인하려면 첫 번째 확인란을 선택하면됩니다. – Randrm

관련 문제