Optionsfelder zur App hinzufügen

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

Über Optionsfelder können Nutzer eine Option aus einer Reihe von 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, verwenden Sie stattdessen einen Drehregler.

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

Erstellen Sie für jede Optionsschaltfläche eine RadioButton in Ihrem Layout. 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, wird für das entsprechende RadioButton-Objekt ein On-Click-Ereignis ausgelöst.

Das folgende Beispiel zeigt eine Reaktion, wenn der 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 der Activity oder Fragment, die dieses Layout hostet, nach den Optionsfeldern und legen Sie für jedes einen Änderungslistener 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 in Logcat eine Nachricht ausgegeben, wenn der Nutzer auf eines der Optionsfelder tippt.