我正在构建一个多选对话框:
for (int i=0; i<count; i++) {
options[i] = ...;
checked[i] = ...;
}
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Options");
builder.setMultiChoiceItems(options, checked, optionsDialogListener);
...
AlertDialog dialog = builder.create();
dialog.show();
但现在我需要一些项目不可见/禁用,但我仍然需要它们在我的选项数组中。
有办法实现这一点吗?我知道这不是正确的方法,但我宁愿不创建自定义适配器。我正在寻找类似“getChildAt”的内容
谢谢。
最佳答案
最近我遇到了这个问题,并且在不使用自定义适配器的情况下我无法在互联网上找到解决方案。最后我使用下面的代码得到了一个简单的解决方案
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
ListView lw = ((AlertDialog) dialog).getListView();
if (which == 0) {
//for example, disable second and third items after first item is selected
final ListAdapter adaptor = lw.getAdapter();
lw.getChildAt(1).setEnabled(false);
lw.getChildAt(2).setEnabled(false);
}
}
关于android - 在 Android 多选对话框中隐藏项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16881536/