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



我已经为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 中定义的相同属性,您可以通过编程方式执行此操作,也可以创建新布局并对其进行膨胀。

最新更新