如果对话框打开,我正在尝试选中一个复选框,但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);
}
发布于 2012-02-04 20:26:30
如果您的应用代码(isAlreadyOpened)不起作用...由于语句执行时的false条件。
只需设置
alertDialog.getListView().setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
alertDialog.getListView().setItemChecked(4, true);
在创建对话框时显示对话框之前
https://stackoverflow.com/questions/9144176
复制相似问题