Optionsfelder zur App hinzufügen

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

Über Optionsfelder kann der Nutzer eine Option aus den sich gegenseitig ausschließenden Optionen auswählen. Verwenden Sie Optionsfelder, wenn der Nutzer alle verfügbaren Optionen sehen muss. Wenn nicht alle Optionen angezeigt werden müssen, können Sie stattdessen ein Kreissymbol verwenden.

Beispiel für Optionsfelder von material.io
Abbildung 1. Ein Beispiel für Optionsfelder aus Material Design.

Um die einzelnen Optionsfeldoptionen festzulegen, müssen Sie im Layout ein RadioButton erstellen. Da sich Optionsfelder gegenseitig ausschließen, sollten Sie sie in einem RadioGroup gruppieren. Das System sorgt dafür, dass jeweils nur ein Optionsfeld innerhalb einer Gruppe ausgewählt werden kann.

Auf Klickereignisse reagieren

Wenn der Nutzer ein Optionsfeld auswählt, empfängt das entsprechende RadioButton-Objekt ein On-Click-Ereignis.

Das folgende Beispiel zeigt eine Reaktion, wenn ein Nutzer auf ein RadioButton-Objekt in einer Gruppe tippt:

<?xml version="1.0" encoding="utf-8"?>
<RadioGroup
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">
    <RadioButton android:id="@+id/radio_pirates"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Pirates"/>
    <RadioButton android:id="@+id/radio_ninjas"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Ninjas"/>
</RadioGroup>

Suchen Sie in dem Activity oder Fragment, das dieses Layout hostet, nach Ihren Optionsfeldern und legen Sie für jedes einen Änderungs-Listener fest. Gehen Sie dazu so vor:

Kotlin

findViewById<RadioButton>(R.id.radio_pirates).setOnCheckedChangeListener { buttonView, isChecked ->
    Log.d("RADIO", "Pirates is checked: $isChecked")
}

findViewById<RadioButton>(R.id.radio_ninjas).setOnCheckedChangeListener { buttonView, isChecked ->
    Log.d("RADIO", "Ninjas is checked: $isChecked")
}

Java

findViewById<RadioButton>(R.id.radio_pirates).setOnCheckedChangeListener { buttonView, isChecked ->
    Log.d("RADIO", "Pirates is checked: $isChecked");
}

findViewById<RadioButton>(R.id.radio_ninjas).setOnCheckedChangeListener { buttonView, isChecked ->
    Log.d("RADIO", "Ninjas is checked: $isChecked");
}

In diesem Beispiel wird eine Meldung in Logcat angezeigt, wenn der Nutzer auf eines der Optionsfelder tippt.