如果对话框打开,我试图选中一个复选框,但 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);
}
最佳答案
如果 (isAlreadyOpened) 不起作用,您应用的代码... 由于语句执行时的错误条件。
只需设置
alertDialog.getListView().setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
alertDialog.getListView().setItemChecked(4, true);
在创建对话框时显示对话框之前
关于android - setItemChecked 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9144176/