Aggiungere caselle di controllo alla tua app

Prova il metodo Scrivi
Jetpack Compose è il toolkit consigliato per la UI per Android. Scopri come aggiungere componenti in Compose.

Le caselle di controllo consentono all'utente di selezionare una o più opzioni da un insieme. Di solito, presenti una casella di controllo in un elenco verticale.

Un'immagine che mostra un esempio di caselle di controllo da material.io
. Figura 1. Un esempio di caselle di controllo da Casella di controllo di Material Design.

Per creare ogni opzione di casella di controllo, crea una CheckBox nel layout. Poiché una serie di caselle 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, accedi a Activity o Fragment, cerca 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");
    }

Ogni volta che le caselle di controllo cambiano stato, il codice precedente stampa un messaggio in Logcat.