Android CheckBox is used for the android application user interface, where the user can select any one or more options. Checkbox example is the food ordering android app, where the user can select multiple food options. Checkbox control has both option select or deselect (checked and unchecked) option. CompoundButton class is the parent class of the CheckBox class.
You can create a Checkbox in your layout. Checkbox options allow to user select multiple items, so checkbox needs to manage a separately. The checkbox is a type of two state button either unchecked or checked in Android.
How to Use Checkbox
Add the Checkbox in the resource layout file.
<CheckBox android:id="@+id/cb_single" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="16dp" android:layout_marginStart="16dp" android:layout_marginTop="16dp" android:text="CheckBox" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/textView2" />
Then set onClicklistener on Checkbox like that
// Single checked box cb_single.setOnClickListener(View.OnClickListener { if (cb_single.isChecked) { message(cb_single.text.toString() + " Checked") } else { message(cb_single.text.toString() + " UnChecked") } })
Let’s Build a Complete Example of Android Checkbox :
How to When (switch) condition do with kotlin android: for example if you have multiple checkboxes? Let check this example with a simple one and multiple checkboxes in an app.
Step 1. Create new project “Build Your First Android App in Kotlin“
Step 2. Add below code in “activity_main.xml” resource file
Here 5 checkbox is used, where 4 checkboxes have performed an event, added the android:onClick
attribute. And 1 will be use OnClickListener.
<?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="16dp" android:layout_marginTop="16dp" android:text="Select your favorite shoes brands" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintTop_toTopOf="parent" /> <CheckBox android:id="@+id/cb_addidas" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="16dp" android:layout_marginStart="16dp" android:layout_marginTop="16dp" android:onClick="onCheckboxClicked" android:text="Adidas" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/textView" /> <CheckBox android:id="@+id/cb_nike" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="16dp" android:layout_marginStart="16dp" android:layout_marginTop="16dp" android:onClick="onCheckboxClicked" android:text="Nike" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/cb_addidas" /> <CheckBox android:id="@+id/cb_reebok" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="16dp" android:layout_marginStart="16dp" android:layout_marginTop="16dp" android:onClick="onCheckboxClicked" android:text="Reebok" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/cb_nike" /> <CheckBox android:id="@+id/cb_converse" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="16dp" android:layout_marginStart="16dp" android:layout_marginTop="16dp" android:onClick="onCheckboxClicked" android:text="Converse" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/cb_reebok" /> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="16dp" android:layout_marginStart="16dp" android:layout_marginTop="16dp" android:text="Single checkbox example" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/cb_converse" /> <CheckBox android:id="@+id/cb_single" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="16dp" android:layout_marginStart="16dp" android:layout_marginTop="16dp" android:text="CheckBox" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/textView2" /> </android.support.constraint.ConstraintLayout>
Step 3. Open the “MainActivity.kt” and add the following code
package `in`.eyehunt.androidcheckbox import android.support.v7.app.AppCompatActivity import android.os.Bundle import android.view.View import android.widget.CheckBox import android.widget.Toast import kotlinx.android.synthetic.main.activity_main.* class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) // Single checked box cb_single.setOnClickListener(View.OnClickListener { if (cb_single.isChecked) { message(cb_single.text.toString() + " Checked") } else { message(cb_single.text.toString() + " UnChecked") } }) } // multiple checkbox click method fun onCheckboxClicked(view: View) { var checked = view as CheckBox if (cb_addidas == checked) { message(cb_addidas.text.toString() + if (cb_addidas.isChecked) " Checked " else " UnChecked ") } if (cb_nike == checked) { message(cb_nike.text.toString() + if (cb_nike.isChecked) " Checked " else " UnChecked ") } if (cb_converse == checked) { message(cb_converse.text.toString() + if (cb_converse.isChecked) " Checked " else " UnChecked ") } if (cb_reebok == checked) { message(cb_reebok.text.toString() + if (cb_reebok.isChecked) " Checked " else " UnChecked ") } } fun message(str: String) { Toast.makeText(this, str, Toast.LENGTH_LONG).show() } }
Step 4. Now Run the application, in an emulator or On your Android device
Output screenshot Android Checkbox example :
Download source code Android CheckBox in kotlin
https://github.com/EyeHunts/AndroidCheckBox
Do comment if you have any doubt and suggestion on this tutorial.
Note: This example (Project) is developed in Android Studio 3.1.3. Tested on Android 9 ( Android-P), compile SDK version API 27: Android 8.0 (Oreo)
MinSdkVersion=”15″
TargetSdkVersion=”27″
Coding in Kotlin