Tombol pilihan memungkinkan pengguna memilih satu opsi dari sekumpulan opsi yang sama-sama bersifat eksklusif lainnya. Gunakan tombol pilihan jika pengguna perlu melihat semua opsi yang tersedia terdaftar. Jika tidak perlu menampilkan semua opsi, gunakan spinner sebagai gantinya.
Untuk membuat setiap opsi tombol pilihan, buat sebuah
RadioButton
dalam tata letak Anda. Karena tombol pilihan saling eksklusif, kelompokkan di dalam
suatu
RadioGroup
.
Sistem memastikan bahwa hanya satu tombol pilihan dalam grup yang dapat dipilih di
waktu tertentu.
Merespons peristiwa klik
Saat pengguna memilih tombol pilihan,
Objek RadioButton
menerima peristiwa klik.
Contoh berikut menunjukkan reaksi terhadap pengguna yang mengetuk
Objek RadioButton
dalam 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
menemukan tombol pilihan, dan mengatur pemroses perubahan untuk setiap tombol,
berikut ini:
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, sebuah pesan mencetak di Logcat.