我试图在对话框打开时检查一个复选框,但是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 :(得分:0)
如果(isAlreadyOpened)无效,您的应用代码是... 由于语句执行时的错误情况。
只需设置
alertDialog.getListView().setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
alertDialog.getListView().setItemChecked(4, true);
在创建对话框
时显示对话框之前