android - 如何设置要在对话框中预先检查的按钮?

标签 android dialog checkboxlist

请问如何设置Dialog复选框中某些项目的状态为预选。我必须遵循以下代码:

String[] typeOfTransport;

    typeOfTransport = new String[modes.length];

    final boolean[] itemsChecked = new boolean[modes.length];
    for (int i = 0; i < modes.length; i++) 
    {       
        typeOfTransport[i] = modes[i].Name;                     
    }

    AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this);
    dialogBuilder.setTitle("Select your transport:");
    dialogBuilder.setMultiChoiceItems(typeOfTransport, itemsChecked, new DialogInterface.OnMultiChoiceClickListener()
    {           
        @Override
        public void onClick(DialogInterface dialog, int which, boolean isChecked) 
        {               
            itemsChecked[which] = isChecked = true;              
        }           
    });

    dialogBuilder.setPositiveButton("Set", new DialogInterface.OnClickListener()
    {
        @Override
        public void onClick(DialogInterface dialog, int which) 
        {
            String selectetdVal = " ";
            for (int i = 0; i < modes[0].Name.length(); i++) 
            {  
               if (itemsChecked[i]) 
               {  
                 selectetdVal = selectetdVal + modes[i].Name+ " ";
                 itemsChecked[i]=false;                  
               }
            }               
            Toast.makeText(MainWindow.this, selectetdVal,Toast.LENGTH_SHORT).show();
        }

    });     

    AlertDialog alertDialog = dialogBuilder.create();
    alertDialog.show();
    return true;
}

我正确地得到了对话框,一切都已设置好并准备好供用户检查,但我希望在用户调用对话框时预先检查对话框中的某些项目第一次。

最佳答案

这就是 setMultiChoiceItems 的第二个参数所做的,但您基本上传递的是最近创建的 bool 值数组(它们都是 false)。

在调用 setMultiChoiceItems 之前尝试将您想要预检查 的位置设置为 true

您可以重用您已经必须执行的 for 循环:

final boolean[] itemsChecked = new boolean[modes.length];
for (int i = 0; i < modes.length; i++) 
{       
    typeOfTransport[i] = modes[i].Name;  

    itemsChecked[i] = modes[i].Selected;                 
}

关于android - 如何设置要在对话框中预先检查的按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21909386/

相关文章:

asp.net-mvc - 获取 Controller mvc 4 中的复选框值

android - 错误 :org. gradle.internal.UncheckedException: 构建命令失败

java - 加密文件或字符串安全 android

javascript - 不需要CSS的轻量级对话框插件

winforms - 以编程方式选择 winforms 复选框列表中的项目

c# - 多个复选框列表

android - 为什么Android WebView显示黑屏?

android - aChartEngine 处理大数据时真的很慢

javascript - polymer 适合纸质对话框显示在抽屉顶部

c# - 如何打开服务属性对话框