Menambahkan kotak centang ke aplikasi

Mencoba cara Compose
Jetpack Compose adalah toolkit UI yang direkomendasikan untuk Android. Pelajari cara menambahkan komponen di Compose.

Kotak centang memungkinkan pengguna memilih satu atau beberapa opsi dari suatu kumpulan. Biasanya, Anda menampilkan kotak centang opsi dalam daftar vertikal.

Gambar yang menunjukkan contoh kotak centang dari material.io
Gambar 1. Contoh kotak centang dari Kotak Centang Desain Material.

Untuk membuat setiap opsi kotak centang, buat sebuah CheckBox dalam tata letak Anda. Karena satu set opsi kotak centang memungkinkan pengguna memilih beberapa item, setiap kotak centang dikelola secara terpisah, dan Anda harus mendaftarkan pemroses klik untuk setiap pemroses.

Merespons peristiwa klik

Mulai dengan membuat tata letak dengan objek CheckBox dalam daftar:


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <CheckBox android:id="@+id/checkbox_meat"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Meat" />
    <CheckBox android:id="@+id/checkbox_cheese"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Cheese"/>
</LinearLayout>

Setelah tata letak Anda siap, buka Activity atau Fragment, temukan CheckBox ditampilkan, dan tetapkan pemroses perubahan, seperti pada contoh berikut:

Kotlin

findViewById<CheckBox>(R.id.checkbox_meat)
    .setOnCheckedChangeListener { buttonView, isChecked ->
        Log.d("CHECKBOXES", "Meat is checked: $isChecked")
    }

findViewById<CheckBox>(R.id.checkbox_cheese)
    .setOnCheckedChangeListener { buttonView, isChecked ->
        Log.d("CHECKBOXES", "Cheese is checked: $isChecked")
    }

Java

findViewById<CheckBox>(R.id.checkbox_meat)
    .setOnCheckedChangeListener { buttonView, isChecked ->
        Log.d("CHECKBOXES", "Meat is checked: $isChecked");
    }

findViewById<CheckBox>(R.id.checkbox_cheese)
    .setOnCheckedChangeListener { buttonView, isChecked ->
        Log.d("CHECKBOXES", "Cheese is checked: $isChecked");
    }

Kode sebelumnya mencetak pesan di Logcat setiap kali kotak centang berubah status.