我目前正在使用 AlertDialog.builder 为用户创建多选列表(复选框)。这非常有效,只是我们希望其中一个按钮取消选择列表中的所有其他按钮。
builder.setMultiChoiceItems(list, checked,
new DialogInterface.OnMultiChoiceClickListener() {
public void onClick(DialogInterface dialog,
int item, boolean isChecked) {
if(item == ANY_ITEM_BUT_0)
{
((AlertDialog) dialog).getListView().setItemChecked(0, false);
}
}
});
当使用“true”时,它将成功选中该框,但是当使用 false 时,它不会取消选中它(除非我事先手动将其设置为 true)。是否应该使用一个单独的侦听器来检测用户何时单击这些?在我看来,有两个复选标记设置,一个是通过“setItemChecked(0, true);”设置的,另一个是通过实际选择它来设置的。
这几天已经让我发疯了,任何帮助将不胜感激。
哦!!!我忘记了它以确保取消选择,您必须将选中更改为 null ;),我遇到了同样的问题。
builder.setMultiChoiceItems(list, null, new DialogInterface.OnMultiChoiceClickListener() {
...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)