I pulsanti di opzione consentono all'utente di selezionare un'opzione da un insieme di opzioni che si escludono a vicenda. Utilizza i pulsanti di opzione se l'utente deve visualizzare tutte le opzioni disponibili elencate. Se non è necessario mostrare tutte le opzioni, utilizza un spinner.
Per creare ogni opzione di pulsante di opzione, crea un
RadioButton
nel layout. Poiché i pulsanti di opzione si escludono a vicenda, raggruppali in un elemento RadioGroup
.
Il sistema garantisce che sia possibile selezionare un solo pulsante di opzione alla volta all'interno di un gruppo.
Rispondere agli eventi di clic
Quando l'utente seleziona un pulsante di opzione, l'oggetto RadioButton
corrispondente riceve un evento al clic.
L'esempio seguente mostra una reazione all'utente che tocca un
oggetto RadioButton
in un gruppo:
<?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>
All'interno dell'elemento Activity
o Fragment
che ospita questo layout, individua i pulsanti di opzione e imposta un listener di modifiche per ciascuno di essi, come riportato di seguito:
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"); }
In questo esempio, quando l'utente tocca uno dei pulsanti di opzione, viene stampato un messaggio in Logcat.