2012-02-04 15 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 = alertDialogBu​​ilder.create(); \t \t alertDialog.getListView()。setChoiceMode(ListView.CHOICE_MODE_MULTIPLE); \t \t alertDialog.getListView()。setItemChecked(4、true); alertDialog.show(); – user826323

+0

回避策が見つかりました。 list_valuesのブール値を変更しています。それは私が望むように働いています... – user826323

関連する問題