Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/179.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Android中选中单选按钮时,如何取消选中单选组中的所有单选按钮?_Java_Android_Loops_Radio Button_Android Radiogroup - Fatal编程技术网

Java 在Android中选中单选按钮时,如何取消选中单选组中的所有单选按钮?

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

我以编程方式创建了5个单选组,每个组有4个单选按钮。问题是,当我第一次检查第一个单选组中的单选按钮,然后检查同一个单选组中的第二个单选按钮时,第一个单选按钮仍处于选中状态。如何使单选组中的所有单选按钮具有正常行为? 这是我的代码:

    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,但没有更改。还有其他想法吗?试着像这样设置id
answer[j].setId(i+“”+j),因为如果您有多个单选组,则其中的按钮将具有相同的id。不起作用。这是错误:
视图中的setId(int)不能应用于java.lang.string
。怎么办?因为它需要一个int,而不是字符串。所以您可以这样做:
answer[j].setId(Integer.parseInt(i+“”+j))一开始这是我的错,因为我在I和j之间写了“u”,但你可以简单地删除下划线,并使用我最后一条评论的最新编辑使其成为唯一id