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