Tombol pilihan memungkinkan pengguna memilih satu opsi dari kumpulan opsi yang saling eksklusif. Gunakan tombol pilihan jika pengguna perlu melihat semua opsi yang tersedia. Jika tidak perlu menampilkan semua opsi, gunakan spinner.
Untuk membuat setiap opsi tombol pilihan, buat
RadioButton
dalam tata letak Anda. Karena tombol pilihan bersifat eksklusif satu sama lain, 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 saat diklik.
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
tata letak ini, temukan tombol pilihan 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.