Menambahkan tombol pilihan ke aplikasi

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

Tombol pilihan memungkinkan pengguna memilih satu opsi dari serangkaian opsi yang saling eksklusif. Gunakan tombol pilihan jika pengguna perlu melihat semua opsi yang tersedia yang tercantum. Jika tidak perlu menampilkan semua opsi, gunakan spinner.

Contoh tombol pilihan dari material.io
Gambar 1. Contoh tombol pilihan dari Desain Material.

Untuk membuat setiap opsi tombol pilihan, buat RadioButton dalam tata letak Anda. Karena tombol pilihan sama-sama bersifat eksklusif, kelompokkan tombol tersebut di dalam RadioGroup. Sistem memastikan bahwa hanya satu tombol pilihan dalam grup yang dapat dipilih dalam satu waktu.

Merespons peristiwa klik

Saat pengguna memilih tombol pilihan, objek RadioButton yang sesuai akan menerima peristiwa klik.

Contoh berikut menunjukkan reaksi terhadap pengguna yang mengetuk objek RadioButton dalam sebuah grup:

<?xml version="1.0" encoding="utf-8"?>
<RadioGroup
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">
    <RadioButton android:id="@+id/radio_pirates"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Pirates"/>
    <RadioButton android:id="@+id/radio_ninjas"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Ninjas"/>
</RadioGroup>

Dalam Activity atau Fragment yang menghosting tata letak ini, temukan tombol pilihan Anda dan tetapkan pemroses perubahan untuk setiap tombol, seperti berikut:

Kotlin

findViewById<RadioButton>(R.id.radio_pirates).setOnCheckedChangeListener { buttonView, isChecked ->
    Log.d("RADIO", "Pirates is checked: $isChecked")
}

findViewById<RadioButton>(R.id.radio_ninjas).setOnCheckedChangeListener { buttonView, isChecked ->
    Log.d("RADIO", "Ninjas is checked: $isChecked")
}

Java

findViewById<RadioButton>(R.id.radio_pirates).setOnCheckedChangeListener { buttonView, isChecked ->
    Log.d("RADIO", "Pirates is checked: $isChecked");
}

findViewById<RadioButton>(R.id.radio_ninjas).setOnCheckedChangeListener { buttonView, isChecked ->
    Log.d("RADIO", "Ninjas is checked: $isChecked");
}

Dalam contoh ini, saat pengguna mengetuk salah satu tombol pilihan, pesan akan dicetak di Logcat.