我在activity_main.xml中为单选按钮定义了xml。在主要活动中,我试图动态地将无线电按钮添加到无线电组。 面临此错误
指定的孩子已经有父母。您必须首先在孩子的父母上调用removeView()
RadioGroup answerOptions = (RadioGroup) findViewById(R.id.answers_options);
for (int i = 0; i < answersList.size() ; i++) {
RadioButton radioButton = new RadioButton(MainActivity.this);
radioButton = (RadioButton) findViewById(R.id.simpleRadioButton);
radioButton.setText(answersList.get(i).getOption_description());
answerOptions.addView(radioButton,i);
}
main_activity.xml的某些部分
<RadioGroup
android:id="@+id/answers_options"
android:orientation="vertical"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_gravity="left"
android:layout_weight="1">
<RadioButton
android:textSize="22sp"
android:id="@+id/simpleRadioButton"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="0.20"
android:text=""
android:layout_gravity="left" />
</RadioGroup>
答案 0 :(得分:1)
那是因为您获得了对xml中定义的相同RadioButton的引用。
尝试做:
for (int i = 0; i < answersList.size() ; i++) {
RadioButton radioButton = new RadioButton(MainActivity.this);
radioButton.setText(answersList.get(i).getOption_description());
answerOptions.addView(radioButton,i);
}
要设置xml中定义的相同属性,您可以通过编程方式执行此操作,也可以创建新布局并对其进行充气。