In this example we will
see how to add radio buttons to our android application. We can
render a radio button using android.widget.RadioButton class
,but having a single radio button is of no use. Android provides
android.widget.RadioGroup to
group the radio buttons so that if one radio button is selected
within a group others are deselected. Here we will design a screen
having radio button within a group and toast the selected item.
Lets
start:
1.
Create an android application with any packagename and project name.
Name the activity as AndroidRadioActivity.java
and
the layout file as
main.xml
2.Let
us design the layout file with a TextView posting a question followed
by radio buttons and a display button.
main.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="How do you rate Android?" />
<RadioGroup
android:id="@+id/radioOptions"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<RadioButton
android:id="@+id/radio1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:text="1" />
<RadioButton
android:id="@+id/radio2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="2" />
<RadioButton
android:id="@+id/radio3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="3" />
<RadioButton
android:id="@+id/radio4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="4" />
<RadioButton
android:id="@+id/radio5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="5" />
</RadioGroup>
<Button
android:id="@+id/btnDisplayRating"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Display Rating" />
</LinearLayout>
3.Now
in the activity file let us display the text associated with the
radio button selected on tapping a display rating button.
AndroidRadioActivity:
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Toast;
public class AndroidRadioActivity extends Activity {
private RadioGroup radioOptions;
private RadioButton radioButton;
private Button btnDisplay;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
radioOptions = (RadioGroup) findViewById(R.id.radioOptions);
btnDisplay = (Button) findViewById(R.id.btnDisplayRating);
btnDisplay.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
int selectedId = radioOptions.getCheckedRadioButtonId();
radioButton = (RadioButton) findViewById(selectedId);
Toast.makeText(AndroidRadioActivity.this,
"You Rated as " + radioButton.getText(),
Toast.LENGTH_SHORT).show();
}
});
}
}
4.Build
the application and run the project. The output would be similar to
the one below.
Output:
