Dodawanie opcji do aplikacji

Wypróbuj sposób tworzenia wiadomości
Jetpack Compose to zalecany zestaw narzędzi UI na Androida. Dowiedz się, jak dodawać komponenty w narzędziu Compose

Przyciski opcji pozwalają użytkownikowi wybrać jedną opcję z zestawu wzajemnie wykluczających się . Użyj przycisków, jeśli użytkownik chce zobaczyć wszystkie dostępne opcje na liście produktów. Jeśli nie musisz pokazywać wszystkich opcji, użyj spinner.

.
Przykład opcji z material.io
. Rysunek 1. Przykład opcji z Materiał projektowanie.

Aby utworzyć każdą opcję, utwórz RadioButton w układzie. Przyciski opcji wzajemnie się wykluczają, więc pogrupuj je wewnątrz w RadioGroup System dba o to, aby w grupie można było wybrać tylko jedną opcję. za jednym razem.

Reagowanie na zdarzenia kliknięcia

Gdy użytkownik wybierze przycisk, RadioButton obiekt odbiera zdarzenie kliknięcia.

Ten przykład pokazuje reakcję na kliknięcie przycisku Obiekt RadioButton w grupie:

<?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>

W Activity lub Fragment, które hostują tę aktualizację układ, znaleźć przyciski i ustawić detektor zmian dla każdego z nich, następujące:

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");
}

W tym przykładzie, gdy użytkownik kliknie jedną z opcji, pojawi się komunikat wydruków w Logcat.