Ihrer App Kästchen hinzufügen

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

Mithilfe von Kästchen können Nutzer eine oder mehrere Optionen aus einer Gruppe auswählen. Üblicherweise präsentieren Sie Kästchenoptionen in einer vertikalen Liste.

Ein Bild, auf dem ein Beispiel für Kästchen von material.io zu sehen ist
Abbildung 1: Ein Beispiel für Kästchen des Material Design-Kästchens.

Erstellen Sie für die einzelnen Kästchenoptionen eine CheckBox im Layout. Da der Nutzer mit einer Reihe von Kästchenoptionen mehrere Elemente auswählen kann, wird jedes Kästchen separat verwaltet und Sie müssen für jedes Kästchen 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>

Wenn das Layout fertig ist, rufen Sie Activity oder Fragment auf, suchen Sie nach den 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 Nachricht in Logcat aus, wenn sich der Status der Kästchen ändert.