我在我的活动布局中以编程方式(以放射线组和放射线按钮的数量为变量)添加放射线组,如下所示:
rg = new RadioGroup(this);
rg.setOrientation(RadioGroup.HORIZONTAL);
rg.setId(list_questions.get(i).getQuizz_questions_id()); // get from the DB
lrg.add(rg);
for (int j = 0; j < list_answers.size(); j++) {
rb = new RadioButton(this);
rb.setId(list_answers.get(j).getQuizz_answers_id());
rb.setText(String.valueOf(list_answers.get(j).getQuizz_answers_id()) + "-" + String.valueOf(list_answers.size()) + "-" + String.valueOf(list_questions.get(i).getQuizz_questions_id())); // I added that to see if there was a problem on the indexes, but there's not
rg.addView(rb, new LayoutParams(100,LayoutParams.WRAP_CONTENT));
}
tr.addView(rg, new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
完整代码可在此处找到:http://pastebin.com/d9zZjmuu
我的问题是我可以在三个无线电组内选择两个无线电按钮。
我知道你很难提供帮助,因为你没有所有的消息来源等但我正在寻找两天以来的问题而且没有发现任何事情,如果你能告诉我是否你知道问题可能来自哪里,我们将非常感激!
谢谢,抱歉我的英语不好。
答案 0 :(得分:6)
我重新创建了你的问题并通过给每个RadioButton一个唯一的id来解决它,这个简单的东西:
rb.setId(list_answers.get(j).getQuizz_answers_id() + i * list_questions.size());
我不确定为什么此时默认的OnCheckedChangeListeners会感到困惑,但这是一个简单的解决方法。