#android
#Android
Вопрос:
мой XML-файл
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:id="@ id/sl"
>
<RadioGroup
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:id="@ id/rgc">
</RadioGroup>
</LinearLayout>
Java-файл
LinearLayout l1;
RadioGroup rg;
RadioButton rb[];
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
l1=(LinearLayout)findViewById(R.id.sl);
rg=(RadioGroup)findViewById(R.id.rgc);
rb=new RadioButton[4];
for(int i=0;i<4;i ){
rb[i]=new RadioButton(this);
rb[i].setLayoutParams(new LinearLayout.LayoutParams(60,30));
rb[i].setText(i "aaaaaa");
rg.addView(rb[i]);
}
l1.addView(rg);
}
когда я запускаю этот код, возникает исключение «у этого указанного дочернего элемента уже есть родитель».Пожалуйста, скажите мне, друзья, в чем проблема в моем коде, и, пожалуйста, дайте мне какие-либо предложения.
Ответ №1:
Просто не добавляйте rg в линейный макет, поскольку его radiogroup уже присутствует в linearlayout в файле xml
Ответ №2:
Попробуйте этот код, надеюсь, это поможет
RadioGroup rg=(RadioGroup)findViewById(R.id.rgc);
RadioButton rb;
for(int i=0;i<4;i )
{
rb=new RadioButton(this);
rb.setText(i "aaaaaa");
rg.addView(rb,i,new ViewGroup.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
}
rg.invalidate();