这不仅仅是一个真正的问题,更是一个用户体验问题,但如果我能解决这个问题,它会很好。AlertDialog中的单选按钮在触摸时不会改变
我创建一个单一选择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
调用currentGuideView
来设置哪个单选按钮显示为选中,我的Activity
执行DialogInterface.OnClickListener
,因此在调用中使用this
setSingleChoiceItems(...)
。
onClick(...)
听众根据所选物品做一些简单的事情,然后调用guideViewChooserDialog.cancel()
。
我遇到的问题是当我触摸其中一个列表项目时,该项目被简要地突出显示以确认触摸,但AlertDialog
消失而未显示所选无线电按钮的改变。
一切工作正常,我的onClick(...)
听众得到哪些项目被触摸,但它只是有点令人不安,对话消失没有看到单选按钮选择的变化。
我在HTC Desire w/Android v2.2上测试这个。这是计划中的行为还是在v2.2中的一个错误或HTC的实施?有什么我可以(或应该)这样做,在对话框消失之前,所选项目的无线电按钮被正确显示为选定的?
请您粘贴完整的代码。当我们必须猜测这些变量涉及什么时,很难弄清楚...... – LuxuryMode
您需要猜测哪些变量? 'guideViewChooserDialogItems'是文本的CharSequence []',正如我在问题中提到的,'currentGuideView'是一个'int'(0-2之间),用于设置当AlertDialog为第一个时要选择哪个单选按钮所示。重点在于它的作用,但当我触摸一个项目时,AlertDialog不会自动切换单选按钮。我需要知道是否必须自己手动切换(无法找到执行此操作的方法),或者AlertDialog应该自动执行。 – Squonk