Java 在Android中选中单选按钮时,如何取消选中单选组中的所有单选按钮?
我以编程方式创建了5个单选组,每个组有4个单选按钮。问题是,当我第一次检查第一个单选组中的单选按钮,然后检查同一个单选组中的第二个单选按钮时,第一个单选按钮仍处于选中状态。如何使单选组中的所有单选按钮具有正常行为? 这是我的代码:Java 在Android中选中单选按钮时,如何取消选中单选组中的所有单选按钮?,java,android,loops,radio-button,android-radiogroup,Java,Android,Loops,Radio Button,Android Radiogroup,我以编程方式创建了5个单选组,每个组有4个单选按钮。问题是,当我第一次检查第一个单选组中的单选按钮,然后检查同一个单选组中的第二个单选按钮时,第一个单选按钮仍处于选中状态。如何使单选组中的所有单选按钮具有正常行为? 这是我的代码: radioGroup = new RadioGroup[5]; answer = new RadioButton[4]; int i = 0; for (Question qn : questions) { radioG
radioGroup = new RadioGroup[5];
answer = new RadioButton[4];
int i = 0;
for (Question qn : questions) {
radioGroup[i] = new RadioGroup(this);
int j = 0;
for (Answer an : answers) {
if (qn.getID() == an.getQuestion_id_answer()) {
answer[j] = new RadioButton(this);
answer[j].setText(an.getAnswer());
radioGroup[i].addView(answer[j]);
j++;
}
}
linearLayout.addView(radioGroup[i]);
i++;
}
谢谢 “选中一个属于放射组的RadioButton
,
将取消选中同一组中以前选中的RadioButton
。”来源:
如果我理解正确:您所说的是同一RadioGroup
中的4个单选按钮,当选中同一RadioGroup
中的另一个按钮时,它们拒绝取消选中自己
如果是这样的话,只需给每个单选按钮指定一个不同的资源ID
,就可以解决问题。是的,你是对的。我从第一个单选组中选中的第一个单选按钮保持选中状态。这在每个广播组都有发生。但例如,在第二个单选组中,在我选中2个单选按钮后,第二个保持选中状态。我设置radioGroup[i].setId(i)代码>和答案[j].setId(j)代码>具有不同的id,但没有更改。还有其他想法吗?试着像这样设置idanswer[j].setId(i+“”+j)代码>,因为如果您有多个单选组,则其中的按钮将具有相同的id。不起作用。这是错误:视图中的setId(int)不能应用于java.lang.string
。怎么办?因为它需要一个int,而不是字符串。所以您可以这样做:answer[j].setId(Integer.parseInt(i+“”+j))代码>一开始这是我的错,因为我在I和j之间写了“u”,但你可以简单地删除下划线,并使用我最后一条评论的最新编辑使其成为唯一id