禁用预先检查复选框警报对话框android java

问题描述:

ListView lv = ((AlertDialog) dialog).getListView(); 
SparseBooleanArray checkedItems = lv.getCheckedItemPositions(); 
if (checkedItems != null) { 
    for (int i = 0; i < checkedItems.size(); i++) { 
    //if (checkedItems.valueAt(i)) { 
    if (checkedItems.get(i)) { 
     lv.getChildAt(checkedItems.keyAt(i)).setEnabled(false); 
     String item = lv.getAdapter().getItem(
     checkedItems.keyAt(i)).toString(); 
     Log.i("TAG", item); 
    } 
    } 
} 

我得到所有的预先检查复选框在Android的警报对话框加载。现在,我要使用禁用预先选中的复选框:禁用预先检查复选框警报对话框android java

lv.getChildAt(checkedItems.keyAt(i)).setEnabled(false);

但它不工作任何想法如何禁用表示赞赏。

SparseBooleanArray checkedItems = lv.getCheckedItemPositions(); 

这意味着只是'检查项目'。您的代码仅访问每个复选框中的值。
访问列表视图并操作访问权限如何?
我想你应该直接进入listview。

AlertDialog.Builder builder = new AlertDialog.Builder(A); 
builder.setMultiChoiceItems(items, null, 
          new DialogInterface.OnMultiChoiceClickListener() { 
           @Override 
           public void onClick(DialogInterface dialog, int which, 
                boolean isChecked) { 
            AlertDialog dialog = (AlertDialog) dialog; 
            ListView v = dialog.getListView(); 
            int i = 0; 
            for (int i = 0; i < items. length; i++) { 
             v.setItemChecked(i, false); // true if you want to check all 
             i++; 
            } 
           } 
          });