Über Kästchen können Nutzer eine oder mehrere Optionen gleichzeitig auswählen. Normalerweise werden Kontrollkästchenoptionen in einer vertikalen Liste präsentiert.
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.