私はListViewでAlertDialogを作成し、アダプタには要素CheckAll/UncheckAll要素がプログラムによって作成されています。 これは機能します。しかし、私が画面に触れることで項目をチェックしているときは、checkallを押してから、チェックされた要素のチェックを外してください。alertdialog listview uncheck
DialogInterface.OnMultiChoiceClickListener coloursDialogListener = new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which,
boolean isChecked) {
ListView list = ((AlertDialog) dialog).getListView();
long[] a = list.getCheckItemIds();
if (which == 0) {
if (isChecked) {
for (int i = 0; i < list.getCount(); ++i)
list.setItemChecked(i, true);
} else {
for(int i=0;i<list.getCount();++i)
list.setItemChecked(i, false);
}
a = list.getCheckItemIds();//fucntion return empty array
//but on screen checked element is Check.
return;
}
}
};
更新: 私はバグが発生したときに見つけます。 Iバグが発生したパラメータcheckedItemsを設定する機能で
setMultiChoiceItems(たCharSequence []アイテム、ブール[] checkedItems、DialogInterface.OnMultiChoiceClickListenerリスナー)
場合。そして、私がcheckedItemsパラメータnullバグを設定しない場合は発生しません。 ご存じですか?
UPDATE:詳細datailsはhere
私は(使用するAPIレベル7 getCheckItemIdsだが)APIレベル8をrequriesの項目がチェックされている場合でも、私は8にAPIレベルを変更しましたが、getCheckedItemIdsは常に空の配列を返します。主なエラーは残った – silentnuke