我有一个复选框对话框,我想通过默认选中来设置它的一些值。
我的复选框对话框如下:
final String[] layers_name=new String[3];
for (int i=0;i<m_Renderer.m_Project.m_Layers.size();i++)
{
layers_name[i]=m_Renderer.m_Project.m_Layers.get(i).m_LayerName;
}
this.m_listview=new AlertDialog.Builder(c);
m_listview.setTitle("Layers Information").setMultiChoiceItems(layers_name,null,new DialogInterface.OnMultiChoiceClickListener()
{
@Override
public void onClick(DialogInterface dialog,int which,boolean ischecked)
{
if (ischecked)
{}
else
{}
}
}
).setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
}
}
);
m_listview.show();
我在这个对话框中有 3 个项目,我想在每次打开这个对话框时检查其中的 2 个。
在以下内容中:
m_listview.setTitle("Layers Information").setMultiChoiceItems(layers_name, null,
new DialogInterface.OnMultiChoiceClickListener()
您正在将 null
设置为选中位置的数组。
像这样创建一个 bool 数组:
boolean[] checkedValues = new boolean[m_Renderer.m_Project.m_Layers.size()];
将要检查的项目的 bool 值设置为 true。例如,如果您想要检查第一项:
checkedValues[0] = true;
然后,替换:
m_listview.setTitle("Layers Information").setMultiChoiceItems(layers_name, null,
new DialogInterface.OnMultiChoiceClickListener()
与:
m_listview.setTitle("Layers Information").setMultiChoiceItems(layers_name, checkedValues,
new DialogInterface.OnMultiChoiceClickListener()
我是一名优秀的程序员,十分优秀!