Android的 - 动态单选按钮问题
问题描述:
请帮我在这一个,我试着去产生2个单选按钮在for循环中动态地根据啥子我希望用户输入有单选按钮像Android的 - 动态单选按钮问题
*电台Button1的* RadioButton2
*电台Button1的* RadioButton2
*电台Button1的* RadioButton2
*电台Button1的* RadioButton2
。 。 。
。
等等..取决于循环!
这是我的代码中的代码片段,它只为一行中的2个单选按钮工作,但是当我增加count值时。 。我得到了已经有父母的radiogroup孩子的android运行时错误。 :S
List<RadioGroup> allradioGroup = new ArrayList<RadioGroup>();
RadioGroup radioGroup;
List<RadioButton> allRadio = new ArrayList<RadioButton>();
RadioButton radioButton;
for (int i = 0; i < count; i++) {
/* Defining RadioGroup */
radioGroup = new RadioGroup(this);
radioGroup.setOrientation(RadioGroup.HORIZONTAL);
allradioGroup.add(radioGroup);
/* Displaying Radio Buttons */
for (int j = 0; j < 2; j++) {
radioButton = new RadioButton(this);
radioButton.setTextColor(getResources().getColor(R.color.grey));
radioButton.setId((j + 100));
allRadio.add(radioButton);
if (allRadio.get(j).getId() == 100) {
radioButton.setText("private");
} else if (allRadio.get(j).getId() == 101) {
radioButton.setText("public");
}
allradioGroup.get(i).addView(allRadio.get(j), j,
layoutParams);
}
linear.addView(allradioGroup.get(i));
}
请帮助。谢谢
答
你的问题是这样一行:“allradioGroup.get(i).addView(allRadio.get(j),j,layoutParams);”
当您创建第二行时,参数j将在0-1范围内。你正在尝试使用allRadio.get(j),它在第二次运行时将返回你创建的第一个单选按钮(它已经有一个父按钮)。要解决此问题,请将“j”替换为:“i * 2 + j”。这应该解决它。
Ohhhhh,Yesssss我的坏人 非常感谢Frenkenstain im将此标记为正确答案它像一个魅力一样工作感谢很多 – 2011-05-13 12:42:12
您能否也请帮助我从每行中的每个单选按钮获取值。 。这可以帮助我很多..(: – 2011-05-13 12:43:31
)你有一个列表中的所有RadioGroups,你可以通过这个循环: 'for(int i = 0; i
jorgenfb
2011-05-13 12:57:17