Ihrer App Kästchen hinzufügen

Compose ausprobieren
Jetpack Compose ist das empfohlene UI-Toolkit für Android. Informationen zum Hinzufügen von Komponenten in Compose

Über Kästchen können Nutzer eine oder mehrere Optionen gleichzeitig auswählen. Normalerweise werden Kontrollkästchenoptionen in einer vertikalen Liste präsentiert.

Ein Bild mit einem Beispiel für Kästchen von material.io
Abbildung 1. Beispiel für Kästchen aus Material Design Checkbox.

Erstellen Sie für jede Checkbox-Option ein CheckBox in Ihrem Layout. Da der Nutzer mit einer Reihe von Kästchenoptionen mehrere Elemente auswählen kann, wird jedes Kästchen separat verwaltet. Sie müssen also für jedes Kästchen einen Click-Listener registrieren.

Auf Klickereignisse reagieren

Erstellen Sie zuerst ein Layout mit CheckBox-Objekten in einer 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>

Wenn Ihr Layout fertig ist, gehen Sie zu Activity oder Fragment, suchen Sie nach Ihren CheckBox-Ansichten und legen Sie einen Änderungs-Listener fest, wie im folgenden Beispiel:

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

Der vorherige Code gibt jedes Mal eine Nachricht in Logcat aus, wenn sich der Status der Kästchen ändert.