How to use CheckBox in Android

CheckBox belongs to android.widget.CheckBox class. Android CheckBox class is the subclass of CompoundButton class. It is generally used in a place where user can select one or more than choices from a given list of choices. For example, selecting hobbies.

public class CheckBox extends CompoundButton

Class Hierarchy :

java.lang.Object
   ↳  android.view.View
        ↳  android.widget.TextView
             ↳  android.widget.Button
                  ↳  android.widget.CompoundButton
                       ↳  android.widget.CheckBox

It has two states – checked or unchecked.

Methods of CheckBox class

  • public boolean isChecked(): If CheckBox is in checked state then return true otherwise false.
  • public void setChecked(boolean status): It changes the state of the CheckBox.

Below is the code for an example where the user chooses its hobbies from the given list containing Painting, Reading, Singing and Cooking with the help of CheckBox.

MainActivity.java

filter_none

edit
close

play_arrow

link
brightness_4
code

//Below is the code for MainActivity.java
package com.geeksforgeeks.gfg.checkbox;
  
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.CheckBox;
import android.widget.Toast;
  
public class MainActivity extends AppCompatActivity {
    CheckBox ch, ch1, ch2, ch3;
  
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
  
        // Binding MainActivity.java with activity_main.xml file
        setContentView(R.layout.activity_main);
  
        // Finding CheckBox by its unique ID
        ch=(CheckBox)findViewById(R.id.checkBox);
        ch1=(CheckBox)findViewById(R.id.checkBox2);
        ch2=(CheckBox)findViewById(R.id.checkBox3);
        ch3=(CheckBox)findViewById(R.id.checkBox4);
    }
  
    // This function is invoked when the button is pressed.
    public void Check(View v)
    {
        String msg="";
  
        // Concatenation of the checked options in if
          
        // isChecked() is used to check whether 
        // the CheckBox is in true state or not.
  
        if(ch.isChecked())        
            msg = msg + " Painting ";
        if(ch1.isChecked())
            msg = msg + " Reading ";
        if(ch2.isChecked())
            msg = msg + " Singing ";
        if(ch3.isChecked())
            msg = msg + " Cooking ";
  
        // Toast is created to display the 
        // message using show() method.
        Toast.makeText(this, msg + "are selected"
                       Toast.LENGTH_LONG).show();
    }
}

chevron_right


 
activity_main.xml

The activity_main.xml has a TextView, 4 CheckBoxes and a button.The TextView prompts the user to select his/her hobbies.
First user select its choices and then presses the Submit button. After pressing Submit button, a toast will generate showing the selected hobbies.

filter_none

edit
close

play_arrow

link
brightness_4
code

<!-- Below is the code for 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:background="#ffffff"
    android:orientation="vertical"
    tools:context="com.example.hp.checkbox.MainActivity">
  
    <TextView
        android:id="@+id/textView"
  
        <!-- covers the entire width of the screen -->
        android:layout_width="match_parent"
  
        <!-- covers as much height as required. -->
        android:layout_height="wrap_content"
  
        <!--create 8dp space from margin ends-->
        android:layout_marginEnd="8dp"
  
        <!--create 8dp space from start of margin-->
        android:layout_marginStart="8dp"
  
        <!--create 48dp space from the top of margin-->
        android:layout_marginTop="48dp"
  
        android:text="Choose your hobbies:"
        android:textSize="24sp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
  
    <CheckBox
        android:id="@+id/checkBox"
  
        <!-- covers the entire width of the screen -->
        android:layout_width="match_parent"
  
        <!-- covers as much height as required. -->
        android:layout_height="wrap_content"
  
        android:text="Painting"
        android:layout_marginTop="16dp"
        android:textSize="18sp" />
  
    <CheckBox
        android:id="@+id/checkBox2"
  
        <!-- covers the entire width of the screen -->
        android:layout_width="match_parent"
  
        <!-- covers as much height as required. -->
        android:layout_height="wrap_content"
  
        android:text="Reading"
        android:layout_marginTop="16dp"
        android:textSize="18sp" />
  
    <CheckBox
        android:id="@+id/checkBox3"
  
        <!-- covers the entire width of the screen -->
        android:layout_width="match_parent"
  
        <!-- covers as much height as required. -->
        android:layout_height="wrap_content"
  
        android:layout_marginTop="16dp"
        android:text="Singing"
        android:textSize="18sp"
        app:layout_constraintTop_toTopOf="@+id/textView"
        tools:layout_editor_absoluteX="382dp" />
  
    <CheckBox
        android:id="@+id/checkBox4"
  
        <!-- covers the entire width of the screen -->
        android:layout_width="match_parent"
  
        <!-- covers as much height as required. -->
        android:layout_height="wrap_content"
  
        android:text="Cooking"
        android:layout_marginTop="16dp"
        android:textSize="18sp"
        app:layout_constraintTop_toBottomOf="@+id/checkBox"
        tools:layout_editor_absoluteX="386dp" />
  
    <Button
        android:id="@+id/button"
  
        <!-- covers the entire width of the screen -->
        android:layout_width="match_parent"
  
        <!-- covers as much height as required. -->
        android:layout_height="wrap_content"
          
        android:layout_marginTop="16dp"
        android:onClick="Check"
        android:text="submit" />
</LinearLayout>

chevron_right


Output:



My Personal Notes arrow_drop_up

Geeksforgeeks Intern

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




Article Tags :
Practice Tags :


Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.