AlertDialog中的单选按钮在触摸时不会更改

时间:2011-11-16 02:23:42

标签: android alertdialog

这更像是一个用户体验问题,而不是一个真正的问题,但如果我能解决它就会很好。

我正在创建一个与图片类似的单一选择AlertDialog

enter image description here

我用来创建它的代码是......

private void createGuideViewChooserDialog() {
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setTitle("Select Guide View");
    builder.setSingleChoiceItems(guideViewChooserDialogItems, currentGuideView, this);
    guideViewChooserDialog = builder.create();
    guideViewChooserDialog.show();
}

...所以基本上我使用名为int的{​​{1}}来设置哪个单选按钮显示为已选中,而currentGuideView实现Activity因此使用DialogInterface.OnClickListener调用this

setSingleChoiceItems(...)侦听器会根据所选项目执行一些简单的操作,然后调用onClick(...)

我遇到的问题是,当我触摸其中一个列表项时,会短暂突出显示项目以确认触摸但guideViewChooserDialog.cancel()消失而不显示所选单选按钮的更改。

一切正常,我的AlertDialog听众会得到哪个项目被触摸但是如果没有看到单选按钮选择更改,对话框就会消失,这有点令人不安。

我正在使用Android v2.2的HTC Desire进行测试。这是计划中的行为还是v2.2或HTC实现中的错误?在对话框消失之前,是否有任何我可以(或应该)这样做的所选项目的单选按钮被正确显示为选中状态?

1 个答案:

答案 0 :(得分:0)

对话框立即变得模糊,因为这是您必须在DialogInterface.CnClickListener中设置的对话框。如果你不想让它变暗,那么为用户添加一个按钮,点击“确定”,确认他们的无线电选择,然后关闭对话框。