【发布时间】:2012-06-07 13:29:29
【问题描述】:
我正在尝试创建一个带有多项选择选项的 AlertDialog。我尝试过使用setMultiChoiceItems,但我拥有的是ArrayList<Category>,而不是CharSequence,所以我尝试使用适配器。
setAdapter 的问题在于,当我选择一项时,它会关闭对话窗口。我想要的是选择项目,然后点击 OK 按钮查看选择了哪些项目。
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Pick a color");
ArrayAdapter<Category> catsAdapter = new ArrayAdapter<Category>(this, android.R.layout.select_dialog_multichoice,this.categories);
builder.setAdapter(catsAdapter, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
}
});
builder.setPositiveButton("Save", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//do something
}
});;
AlertDialog alert = builder.create();
alert.show();
【问题讨论】:
-
为什么不动态创建一个自定义视图,其中包含您的 ArrayList 填充的单选按钮?您可以为警报对话框设置自定义视图,然后手动检查 setPositiveButton 中的框雕像
-
我想要适配器的代码。可以给我吗?
标签: android android-alertdialog android-arrayadapter multiple-choice