0
現在、私は複数の選択ボックスで警告ダイアログを表示しています。ユーザーがダイアログを開くと、すべての選択ボックスにチェックを入れたいと思います。私は拘束しましたが、最初にダイアログを表示せずにすべての選択ボックスを選択する方法を見つけることができませんでした。すべてのオプションを選択して複数選択アラートダイアログを初期化するにはどうすればよいですか?
AlertDialog.Builder builder = new AlertDialog.Builder(this, R.style.custom_dialog);
builder.setMultiChoiceItems(items, null, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int indexSelected, boolean isChecked) {
if (isChecked) {
selectedItems.add(indexSelected);
}
else if (selectedItems.contains(indexSelected)) {
selectedItems.remove(Integer.valueOf(indexSelected));
}
}
}).setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
// TODO
}
}).setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
filterDialog.dismiss();
}
});
filterDialog = builder.create();
filterDialog.show(); // only works when I show the dialog first, but I want every option to be selected without showing first
ListView list = filterDialog.getListView();
for (int i = 0; i < list.getCount(); i++) {
list.setItemChecked(i, true);
selectedItems.add(Integer.valueOf(i));
}
}
これにより、すぐにダイアログが開き、すべての選択ボックスが選択されます。最初にダイアログを表示せずにすべてのボックスを選択する方法はありますか?
感謝をビルダーでチェックした項目を送信することができます! – Denny