android - 在 Android 多选对话框中隐藏项目

标签 android dialog

我正在构建一个多选对话框:

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/

相关文章:

java - Android Activity 不会从弹出菜单开始

android - 如何以编程方式获取APK的应用名称(未安装)

java - Android SeekBar 最小值

javascript - JQuery UI 对话框 - 更改标题颜色仅部分有效

PHP 显示更新查询状态的消息框

C GTK通过ESC关闭后无法再次打开Dialog

android - 应用程序从已签名的 APK 而不是 Android Studio 崩溃

android - 需要知道电话在通话中是离用户耳朵远还是近

wpf - 如何使用 WPF 打开颜色和字体对话框?

android - 我怎样才能把日期和时间选择器放在android的对话框中