【发布时间】:2013-02-25 11:03:26
【问题描述】:
我有带有复选框的对话框。在选择这个复选框之前,我想问一下用户,他一定会选择这些复选框。 (我的意思是,我尝试选择复选框并在此 AlertDialog 出现之前询问我是否确定)
在代码中是这样的:
CheckBox cb = (CheckBox) v.findViewById(R.id.favouriteChkBox);
if (cb.isChecked()) {
AlertDialog.Builder builder = new AlertDialog.Builder(
context);
builder.setTitle("Do you want to add this to favourite?");
builder.setPositiveButton("yes",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int id) {
itemChecked.set(position, true);
}
});
builder.setNegativeButton("no",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int id) {
dialog.cancel();
}
});
builder.create().show();
}
但这不起作用。如果我单击“是”或“否”,则会显示 AlertDialog 并且没有仪表,复选框被选中。
你能告诉我为什么这不起作用吗? 谢谢!
【问题讨论】:
-
当用户单击“否”时,您应该将复选框的选中状态设置为 false。由于您只是简单地取消 alertdialig,因此复选框仍处于选中状态。
标签: android checkbox android-alertdialog confirmation