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 中加载警报对话框时获得了所有预先选中的复选框。现在,我想使用以下方法禁用预先选中的复选框:
lv.getChildAt(checkedItems.keyAt(i)).setEnabled(false);
但它不起作用,不知道如何禁用。
最佳答案
SparseBooleanArray checkedItems = lv.getCheckedItemPositions();
这意味着“已检查的项目”。您的代码仅访问每个复选框中的一个值。
访问 ListView 并操作该访问怎么样?
我认为你应该直接访问listview。
关于java - 禁用预先选中的复选框警报对话框 android java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40298222/