CheckBox in Kotlin - GeeksforGeeks

19 Feb, 2021
A CheckBox is a special kind of button in Android which has two states either checked or unchecked. The Checkbox is a very common widget to be used in Android and a very good example is the “Remember me” option in any kind of Login activity of an app which asks the user to activate or deactivate that service. There are many other uses of the CheckBox widget like offering a list of options to the user to choose from and the options are mutually exclusive i.e., the user can select more than one option. This feature of the CheckBox makes it a better option to be used in designing multiple-choice questions application or survey application in android.
This example demonstrates the steps involved in designing an activity that consists of 5 CheckBox and an additional submit button to display a toast message that user response has been recorded.
Note: Following steps are performed on Android Studio version 4.0
Click on File, then New => New Project.Choose “Empty Activity” for the project template.Select language as Kotlin.Select the minimum SDK as per your need.
Click on File, then New => New Project.
Choose “Empty Activity” for the project template.
Select language as Kotlin.
Select the minimum SDK as per your need.
Below is the code for activity_main.xml file to add 5 CheckBox. A normal “submit” button is also added to display a toast message that user response has been recorded.
<?xml version="1.0" encoding="utf-8"?><androidx.constraintlayout.widget.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"    android:background="#168BC34A"    tools:context=".MainActivity" >      <TextView        android:id="@+id/textView"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:fontFamily="@font/roboto"        android:text="@string/Heading"        android:textAlignment="center"        android:textColor="@android:color/holo_green_dark"        android:textSize="36sp"        android:textStyle="bold"        app:layout_constraintBottom_toBottomOf="parent"        app:layout_constraintEnd_toEndOf="parent"        app:layout_constraintStart_toStartOf="parent"        app:layout_constraintTop_toTopOf="parent"        app:layout_constraintVertical_bias="0.17000002" />      <LinearLayout        android:id="@+id/checkBox_container"        android:layout_width="0dp"        android:layout_height="wrap_content"        android:orientation="vertical"        app:layout_constraintBottom_toBottomOf="parent"        app:layout_constraintEnd_toEndOf="parent"        app:layout_constraintStart_toStartOf="parent"        app:layout_constraintTop_toBottomOf="@+id/textView"        app:layout_constraintVertical_bias="0.18">          <CheckBox            android:id="@+id/checkBox"            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:fontFamily="@font/roboto"            android:text="@string/checkBox1_text"            android:textSize="18sp"            android:padding="7dp"/>          <CheckBox            android:id="@+id/checkBox2"            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:fontFamily="@font/roboto"            android:text="@string/checkBox2_text"            android:textSize="18sp"            android:padding="7dp"/>          <CheckBox            android:id="@+id/checkBox3"            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:fontFamily="@font/roboto"            android:text="@string/checkBox3_text"            android:textSize="18sp"            android:padding="7dp"/>          <CheckBox            android:id="@+id/checkBox4"            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:fontFamily="@font/roboto"            android:text="@string/checkBox4_text"            android:textSize="18sp"            android:padding="7dp"/>          <CheckBox            android:id="@+id/checkBox5"            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:fontFamily="@font/roboto"            android:text="@string/checkBox5_text"            android:textSize="18sp"            android:padding="7dp"/>    </LinearLayout>      <Button        android:id="@+id/submitButton"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:background="#AB4CAF50"        android:fontFamily="@font/roboto"        android:text="@string/submitButton"        android:textSize="18sp"        android:textStyle="bold"        app:layout_constraintBottom_toBottomOf="parent"        app:layout_constraintEnd_toEndOf="parent"        app:layout_constraintStart_toStartOf="parent"        app:layout_constraintTop_toBottomOf="@+id/checkBox_container"        app:layout_constraintVertical_bias="0.23000002" /></androidx.constraintlayout.widget.ConstraintLayout>
Below is the code for MainActivity.kt file to access CheckBox widget in kotlin file and show a proper message whenever the submit button is clicked by the user.
package com.example.checkboxinkotlin  import androidx.appcompat.app.AppCompatActivityimport android.os.Bundleimport android.widget.Buttonimport android.widget.Toast  class MainActivity : AppCompatActivity() {    override fun onCreate(savedInstanceState: Bundle?) {        super.onCreate(savedInstanceState)        setContentView(R.layout.activity_main)          // Assigning id of the submit button        val button : Button = findViewById(R.id.submitButton)          // Actions to be performed        // when Submit button is clicked        button.setOnClickListener{              // Display toast message            Toast.makeText(applicationContext,                "Your response has been recorded", Toast.LENGTH_LONG).show()        }    }}
All the strings which are used in the activity, from the text view to the Checkbox texts are listed in this file.
<resources>    <string name="app_name">CheckBox in Kotlin</string>    <string name="Heading">Services provided by GeeksforGeeks</string>    <string name="checkBox1">Coding contests</string>    <string name="checkBox2_text">Civil Engineering Courses</string>    <string name="checkBox1_text">Coding Contests</string>    <string name="checkBox3_text">Computer Science Courses</string>    <string name="checkBox4_text">Company specific coding questions</string>    <string name="checkBox5_text">Download movies</string>    <string name="submitButton">SUBMIT</string></resources>
Below is the code for AndroidManifest.xml file.
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http:// schemas.android.com/apk/res/android"    package="com.example.checkboxinkotlin">      <application        android:allowBackup="true"        android:icon="@mipmap/ic_launcher"        android:label="@string/app_name"        android:roundIcon="@mipmap/ic_launcher_round"        android:supportsRtl="true"        android:theme="@style/AppTheme">        <activity android:name=".MainActivity">            <intent-filter>                <action android:name="android.intent.action.MAIN" />                  <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>        </activity>    </application>  </manifest>
Android-Button
Kotlin Android
Picked
Android
Kotlin
Android
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
How to Create and Add Data to SQLite Database in Android?
Broadcast Receiver in Android With Example
Content Providers in Android with Example
Android RecyclerView in Kotlin
Flutter - Custom Bottom Navigation Bar
Broadcast Receiver in Android With Example
Content Providers in Android with Example
Android UI Layouts
Android RecyclerView in Kotlin
Retrofit with Kotlin Coroutine in Android