Le caselle di controllo consentono all'utente di selezionare una o più opzioni da un insieme. Di solito le opzioni delle caselle di controllo sono disponibili in un elenco verticale.
Per creare ogni opzione della casella di controllo, crea un
CheckBox
nel layout. Poiché
un insieme di opzioni di casella di controllo consente all'utente di selezionare più elementi, ogni casella di controllo viene gestita separatamente e
devi registrare un listener di clic per ciascuno.
Rispondere agli eventi di clic
Inizia creando un layout con CheckBox
oggetti in un elenco:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <CheckBox android:id="@+id/checkbox_meat" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Meat" /> <CheckBox android:id="@+id/checkbox_cheese" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Cheese"/> </LinearLayout>
Quando il layout è pronto, vai su Activity
o Fragment
, trova le visualizzazioni CheckBox
e imposta un listener di modifiche, come nell'esempio seguente:
Kotlin
findViewById<CheckBox>(R.id.checkbox_meat) .setOnCheckedChangeListener { buttonView, isChecked -> Log.d("CHECKBOXES", "Meat is checked: $isChecked") } findViewById<CheckBox>(R.id.checkbox_cheese) .setOnCheckedChangeListener { buttonView, isChecked -> Log.d("CHECKBOXES", "Cheese is checked: $isChecked") }
Java
findViewById<CheckBox>(R.id.checkbox_meat) .setOnCheckedChangeListener { buttonView, isChecked -> Log.d("CHECKBOXES", "Meat is checked: $isChecked"); } findViewById<CheckBox>(R.id.checkbox_cheese) .setOnCheckedChangeListener { buttonView, isChecked -> Log.d("CHECKBOXES", "Cheese is checked: $isChecked"); }
Il codice precedente stampa un messaggio in Logcat ogni volta che le caselle di controllo cambiano stato.