这更像是一个用户体验问题,而不是一个真正的问题,但如果我能解决它就会很好。
我正在创建一个与图片类似的单一选择AlertDialog
我用来创建它的代码是......
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实现中的错误?在对话框消失之前,是否有任何我可以(或应该)这样做的所选项目的单选按钮被正确显示为选中状态?
答案 0 :(得分:0)
对话框立即变得模糊,因为这是您必须在DialogInterface.CnClickListener
中设置的对话框。如果你不想让它变暗,那么为用户添加一个按钮,点击“确定”,确认他们的无线电选择,然后关闭对话框。