如何将定义的单选按钮布局分配给动态单选按钮

问题描述:

我已经为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

请提供一个完整的例子。尤其是,您应该有一个完整的Activity或Fragment类,其中包含您所询问的代码(很可能在onCreate()或onCreateView())中。您还应该提供完整的XML布局文件。这意味着你应该有一个有效的根元素,比如LinearLayout或者RelativeLayout。注意**这并不意味着发布你的所有代码**。您应该只发布与问题相关的内容。 –

那是因为你得到到在你的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定义相同的属性,你可以做到这一点编程或创建一个新的布局和它充气。