Флажки позволяют пользователю выбрать один или несколько вариантов из набора. Обычно вы представляете параметры флажка в вертикальном списке.
Чтобы создать каждый вариант флажка, создайте CheckBox
в своем макете. Поскольку набор параметров флажков позволяет пользователю выбирать несколько элементов, каждый флажок управляется отдельно, и для каждого из них необходимо зарегистрировать прослушиватель кликов.
Реагировать на события кликов
Начните с создания макета с объектами CheckBox
в списке:
<?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>
Как только ваш макет будет готов, перейдите в Activity
или Fragment
, найдите представления CheckBox
и установите прослушиватель изменений, как в следующем примере:
Котлин
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") }
Ява
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"); }
Предыдущий код печатает сообщение в Logcat каждый раз, когда флажки меняют статус.