Ajouter des cases à cocher à votre application

Essayer Compose
Jetpack Compose est le kit d'outils d'interface utilisateur recommandé pour Android. Découvrez comment ajouter des composants dans Compose.

Les cases à cocher permettent à l'utilisateur de sélectionner une ou plusieurs options dans une liste. En règle générale, les options de case à cocher sont présentées sous forme de liste verticale.

Image montrant un exemple de cases à cocher sur Material.io
Figure 1 : Exemple de cases à cocher de la case à cocher Material Design

Pour créer chaque option de case à cocher, créez un CheckBox dans votre mise en page. Étant donné qu'un ensemble d'options de cases à cocher permet à l'utilisateur de sélectionner plusieurs éléments, chaque case est gérée séparément et vous devez enregistrer un écouteur de clics pour chacun d'eux.

Répondre aux événements de clic

Commencez par créer une mise en page avec des objets CheckBox dans une liste:


<?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>

Une fois que votre mise en page est prête, accédez à Activity ou Fragment, recherchez vos vues CheckBox et définissez un écouteur de modifications, comme dans l'exemple suivant:

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");
    }

Le code précédent imprime un message dans Logcat chaque fois que les cases à cocher changent d'état.