Tombol pilihan memungkinkan pengguna memilih satu opsi dari serangkaian opsi yang eksklusif satu sama lain. Gunakan tombol pilihan jika pengguna perlu melihat semua opsi yang tersedia yang tercantum. Jika tidak perlu menampilkan semua opsi, sebagai gantinya gunakan spinner.
Untuk membuat setiap opsi tombol pilihan, buat
RadioButton
dalam tata letak Anda. Karena tombol pilihan bersifat eksklusif satu sama lain, kelompokkan 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 pengguna saat 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 Anda dan tetapkan pemroses perubahan untuk masing-masing tombol, sebagai 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.