Le caselle di controllo consentono all'utente di selezionare una o più opzioni da un insieme. In genere le opzioni delle caselle di controllo vengono presentate in un elenco verticale.
Per creare ogni opzione della casella di controllo, crea un CheckBox
nel layout. Poiché un insieme di opzioni di caselle di controllo consente all'utente di selezionare più elementi, ogni casella di controllo viene gestita separatamente e devi registrare un ascoltatore di clic per ciascuna.
Rispondere agli eventi di clic
Per iniziare, crea un layout con oggetti CheckBox
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>
Una volta che il layout è pronto, vai a Activity
o Fragment
, individua le visualizzazioni
CheckBox
e imposta un ascoltatore 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.