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