android - setItemChecked不起作用

时间:2012-02-04 20:16:28

标签: android

我试图在对话框打开时检查一个复选框,但是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);
    }

1 个答案:

答案 0 :(得分:0)

如果(isAlreadyOpened)无效,您的应用代码是... 由于语句执行时的错误情况。

只需设置

 alertDialog.getListView().setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
        alertDialog.getListView().setItemChecked(4, true); 

在创建对话框

时显示对话框之前