如何将定义的单选按钮布局分配给动态单选按钮
问题描述:
我已经为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>
答
那是因为你得到到在你的XML定义相同的单选按钮的引用的某些部分。
尝试做:
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定义相同的属性,你可以做到这一点编程或创建一个新的布局和它充气。
请提供一个完整的例子。尤其是,您应该有一个完整的Activity或Fragment类,其中包含您所询问的代码(很可能在onCreate()或onCreateView())中。您还应该提供完整的XML布局文件。这意味着你应该有一个有效的根元素,比如LinearLayout或者RelativeLayout。注意**这并不意味着发布你的所有代码**。您应该只发布与问题相关的内容。 –