Menambahkan tombol pilihan ke aplikasi

Mencoba 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 kumpulan opsi yang saling eksklusif. Gunakan tombol pilihan jika pengguna perlu melihat semua opsi yang tersedia. 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 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.