我一直试图获得一个列表,其中包含10-12个项目,每个项目在警告对话框中都有一个复选框(即我的活动开始时)。
到目前为止,我已经提出了以下代码;它没有复选框。
那么,我该如何实现呢?任何示例代码或建议将不胜感激。
感谢
final CharSequence[] items = {"cat1","cat2","cat3" };
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Categories");
builder.setItems(items, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
switch (item) {
case 0:
//handle item1
break;
case 1:
//item2
break;
case 2:
//item3
break;
default:
break;
} }
});
AlertDialog alert = builder.create();
alert.show();
答案 0 :(得分:5)
您必须在构建器对象中设置setSingleChoiceItems()方法,而不是像下面的setItems。
builder.setSingleChoiceItems(items , -1,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// The 'which' argument contains the index position
// of the selected item
}
})
如果要显示多个选择列表对话框,则必须在其参数中使用DialogInterface.OnMultiChoiceClickListener设置setMultiChoiceItems()而不是setSingleChoiceItems
在Developer.Android.com中提到的所有内容都可以找到dialog help here
答案 1 :(得分:1)
我建议不要在警告对话框中使用复杂的自定义视图。 更好地使用开始活动来获得结果。 在清单集android:theme =“@ style / Theme.Dialog”中,用于对话活动
答案 2 :(得分:0)
正如rajpara所说,但是我不会忘记通过将您的开关替换为[。]串口来减少代码的复杂性.toString();