I pulsanti di opzione consentono all'utente di selezionare un'opzione da un gruppo di opzioni reciprocamente esclusive. Utilizza i pulsanti di opzione se l'utente deve vedere tutte le opzioni disponibili elencate. Se non è necessario mostrare tutte le opzioni, utilizza invece un spinner.
Per creare ogni opzione del pulsante di opzione, crea un RadioButton nel layout. Poiché i pulsanti di opzione sono reciprocamente esclusivi, raggruppali all'interno di un 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 di 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'Activity o del Fragment che ospita questo layout, trova i pulsanti di opzione e imposta un listener di modifica per ciascuno di essi, come segue:
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.