Ü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.
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.