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 un ensemble. En règle générale, les options de cases à cocher sont présentées dans une liste verticale.

Image montrant un exemple de cases à cocher sur material.io
Figure 1. Exemple de cases à cocher issues de la documentation sur les cases à cocher Material Design.

Pour créer chaque option de case à cocher, créez une 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 à cocher est gérée séparément, et vous devez enregistrer un écouteur de clics pour chacune d'elles.

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 votre mise en page prête, accédez à votre Activity ou Fragment, recherchez vos vues CheckBox et définissez un écouteur de modification, 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 affiche un message dans Logcat chaque fois que l'état des cases à cocher change.