RadioButton is a two states button which is either checked or unchecked. If a single radio button is unchecked, we can click it to make checked radio button. Once a radio button is checked, it cannot be marked as unchecked by user.

RadioButton is generally used with RadioGroup. RadioGroup contains several radio buttons, marking one radio button as checked makes all other radio buttons as unchecked.

Example of Radio Button

In this example, we are going to implement single radio button separately as well as radio button in RadioGroup.

activity_main.xml

File: activity_main.xml

<?xml version=“1.0” encoding=“utf-8”?>
<LinearLayout
    xmlns:android=“http://schemas.android.com/apk/res/android”
    xmlns:tools=“http://schemas.android.com/tools”
    android:layout_width=“match_parent”
    android:layout_height=“match_parent”
    android:orientation=“vertical”
    tools:context=“example.javatpoint.com.radiobutton.MainActivity”>
    <TextView
        android:id=“@+id/textView1”
        android:layout_width=“fill_parent”
        android:layout_height=“wrap_content”
        android:layout_marginTop=“30dp”
        android:gravity=“center_horizontal”
        android:textSize=“22dp”
        android:text=“Single Radio Buttons” />
    <!–   Default RadioButtons  –>
    <RadioButton
        android:id=“@+id/radioButton1”
        android:layout_width=“fill_parent”
        android:layout_height=“wrap_content”
        android:layout_gravity=“center_horizontal”
        android:text=“Radio Button 1”
        android:layout_marginTop=“20dp”
        android:textSize=“20dp” />
    <RadioButton
        android:id=“@+id/radioButton2”
        android:layout_width=“fill_parent”
        android:layout_height=“wrap_content”
        android:text=“Radio Button 2”
        android:layout_marginTop=“10dp”
        android:textSize=“20dp” />
    <View
        android:layout_width=“fill_parent”
        android:layout_height=“1dp”
        android:layout_marginTop=“20dp”
        android:background=“#B8B894” />
    <TextView
        android:id=“@+id/textView2”
        android:layout_width=“fill_parent”
        android:layout_height=“wrap_content”
        android:layout_marginTop=“30dp”
        android:gravity=“center_horizontal”
        android:textSize=“22dp”
        android:text=“Radio button inside RadioGroup” />
    <!–   Customized RadioButtons  –>
    <RadioGroup
        android:layout_width=“wrap_content”
        android:layout_height=“wrap_content”
        android:id=“@+id/radioGroup”>
        <RadioButton
            android:id=“@+id/radioMale”
            android:layout_width=“fill_parent”
            android:layout_height=“wrap_content”
            android:text=”  Male”
            android:layout_marginTop=“10dp”
            android:checked=“false”
            android:textSize=“20dp” />
        <RadioButton
            android:id=“@+id/radioFemale”
            android:layout_width=“fill_parent”
            android:layout_height=“wrap_content”
            android:text=”   Female”
            android:layout_marginTop=“20dp”
            android:checked=“false”
            android:textSize=“20dp” />
    </RadioGroup>
    <Button
        android:layout_width=“wrap_content”
        android:layout_height=“wrap_content”
        android:text=“Show Selected”
        android:id=“@+id/button”
        android:onClick=“onclickbuttonMethod”
        android:layout_gravity=“center_horizontal” />
</LinearLayout>

Activity class

File: MainActivity.java

package example.javatpoint.com.radiobutton;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
    Button button;
    RadioButton genderradioButton;
    RadioGroup radioGroup;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        radioGroup=(RadioGroup)findViewById(R.id.radioGroup);
    }
    public void onclickbuttonMethod(View v){
        int selectedId = radioGroup.getCheckedRadioButtonId();
        genderradioButton = (RadioButton) findViewById(selectedId);
        if(selectedId==-1){
            Toast.makeText(MainActivity.this,“Nothing selected”, Toast.LENGTH_SHORT).show();
        }
        else{
            Toast.makeText(MainActivity.this,genderradioButton.getText(), Toast.LENGTH_SHORT).show();
        }
    }
}

Output

android Radio Button 1
android Radio Button 2