Pola wyboru pozwalają użytkownikowi wybrać jedną lub więcej opcji z zestawu. Zwykle wyświetlane jest pole wyboru na pionowej liście.
Aby dodać poszczególne opcje, utwórz
CheckBox
w Twoim układzie. Ponieważ
zestaw opcji, które pozwalają użytkownikowi zaznaczyć wiele elementów, a każdym z nich można zarządzać oddzielnie,
Musisz też zarejestrować
detektor kliknięć w przypadku każdego z nich.
Reagowanie na zdarzenia kliknięcia
Zacznij od utworzenia układu z CheckBox
obiektami na liście:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <CheckBox android:id="@+id/checkbox_meat" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Meat" /> <CheckBox android:id="@+id/checkbox_cheese" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Cheese"/> </LinearLayout>
Gdy układ będzie gotowy, przejdź do Activity
lub Fragment
, znajdź swój
CheckBox
i ustawić detektor zmian, jak w tym przykładzie:
Kotlin
findViewById<CheckBox>(R.id.checkbox_meat) .setOnCheckedChangeListener { buttonView, isChecked -> Log.d("CHECKBOXES", "Meat is checked: $isChecked") } findViewById<CheckBox>(R.id.checkbox_cheese) .setOnCheckedChangeListener { buttonView, isChecked -> Log.d("CHECKBOXES", "Cheese is checked: $isChecked") }
Java
findViewById<CheckBox>(R.id.checkbox_meat) .setOnCheckedChangeListener { buttonView, isChecked -> Log.d("CHECKBOXES", "Meat is checked: $isChecked"); } findViewById<CheckBox>(R.id.checkbox_cheese) .setOnCheckedChangeListener { buttonView, isChecked -> Log.d("CHECKBOXES", "Cheese is checked: $isChecked"); }
Poprzedni kod drukuje komunikat w Logcat za każdym razem, gdy pola wyboru zmieniają stan.