2012-02-04 2 views
2

대화 상자가 열렸지만 setItemChecked가 작동하지 않는 것으로 하나의 확인란을 선택하려고합니다. 여기에 내 코드가 있습니다. 이미 다른 답변을 확인했지만 도움이되지 않습니다. 아무도 내 코드에 문제가 있는지 알고 있습니까?android - setItemChecked가 작동하지 않습니다.

감사합니다. 때문에 문 실행시 잘못된 상태로

 alertDialogBuilder.setMultiChoiceItems(R.array.list_array, list_values, new DialogInterface.OnMultiChoiceClickListener() { 
     public void onClick(DialogInterface dialog, int item, boolean isChecked) { 
      Toast.makeText(getContext(), "You have selected " + list[item], Toast.LENGTH_SHORT).show(); 
     } 
    }); 
    alertDialogBuilder.setPositiveButton("Yes", new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int id) { 
      SparseBooleanArray checkedItems = ((AlertDialog) dialog).getListView().getCheckedItemPositions(); 
      int size = checkedItems.size(); 
      Toast.makeText(getContext(), "Save " + size, Toast.LENGTH_SHORT).show(); 
     } 
    }); 
    alertDialog = alertDialogBuilder.create(); 
    if (isAlreadyOpened) { 
     alertDialog.getListView().setChoiceMode(ListView.CHOICE_MODE_MULTIPLE); 
     alertDialog.getListView().setItemChecked(4, true); 
    } 

답변

0

귀하의 적용 코드를 (isAlreadyOpened)가 작동하지 않는 경우 ... . 당신이 대화

+1

의 생성시에 대화 상자를 표시하기 전에

그냥 나는 그것이 작동하는지 확인하기 위해 if 문을 제거하여 코드를 단순화

alertDialog.getListView().setChoiceMode(ListView.CHOICE_MODE_MULTIPLE); alertDialog.getListView().setItemChecked(4, true); 

을 설정,하지만 여전히 작동하지 않습니다 ... \t \t alertDialog = alertDialogBuilder.create(); \t \t alertDialog.getListView(). setChoiceMode (ListView.CHOICE_MODE_MULTIPLE); \t \t alertDialog.getListView(). setItemChecked (4, true); alertDialog.show(); – user826323

+0

해결 방법을 찾았습니다. list_values에 대한 부울 값을 변경하고 있습니다. 내가 원하는 방식대로 작동하고있어. – user826323

관련 문제