You can manipulate the RadioGroup
programmatically.
For example, you can obtain a reference to a radio group and add a radio button (or other type of control).
Layout xml
/* ww w . jav a 2 s. c om*/ <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"> <RadioButton android:id="@+id/anotherRadBtn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Outside" /> <RadioGroup android:id="@+id/radGrp" android:layout_width="wrap_content" android:layout_height="wrap_content"> <RadioButton android:id="@+id/chRBtn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Chicken" /> <RadioButton android:id="@+id/fishRBtn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Fish" /> <RadioButton android:id="@+id/stkRBtn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Steak" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="My Favorite" /> </RadioGroup> </LinearLayout>
Adding a RadioButton to a RadioGroup in Code
package com.java2s.app; /*from ww w . java2 s . c o m*/ import android.app.Activity; import android.os.Bundle; import android.widget.RadioButton; import android.widget.RadioGroup; public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); RadioGroup radGrp = (RadioGroup)findViewById(R.id.radGrp); RadioButton newRadioBtn = new RadioButton(this); newRadioBtn.setText("java2s.com"); radGrp.addView(newRadioBtn); } }
Once a radio button is selected within a radio group, the user cannot uncheck it
by clicking it again. The only way to clear all radio buttons in a radio group is to call the
clearCheck()
method on the RadioGroup
programmatically.