gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 21:14:03 26 4
gpt4 key购买 nike

请问如何设置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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com