Ihrer App Kästchen hinzufügen

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

Mit Kästchen können Nutzer eine oder mehrere Optionen aus einer Gruppe auswählen. Normalerweise werden Kästchenoptionen in einer vertikalen Liste angezeigt.

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

Erstellen Sie für jede Kästchenoption ein CheckBox in Ihrem Layout. Da der Nutzer mithilfe der Kästchenoptionen mehrere Elemente auswählen kann, wird jedes Kästchen separat verwaltet und Sie müssen für jedes einen Klick-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>

Sobald das Layout bereit ist, rufen Sie Activity oder Fragment auf, suchen Sie Ihre CheckBox-Ansichten und legen Sie wie im folgenden Beispiel einen Änderungs-Listener fest:

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 Meldung in Logcat aus, wenn sich der Status der Kontrollkästchen ändert.