Добавьте флажки в свое приложение

Попробуйте способ создания композиций.
Jetpack Compose — это рекомендуемый набор инструментов для создания пользовательского интерфейса для Android. Узнайте, как добавлять компоненты в Compose.

Флажки позволяют пользователю выбрать один или несколько вариантов из набора. Как правило, варианты с флажками представляются в виде вертикального списка.

Изображение, демонстрирующее пример флажков из material.io.
Рисунок 1. Пример флажков из Material Design Checkbox .

Для создания каждого варианта флажка создайте 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 и установите обработчик события Change, как показано в следующем примере:

Котлин

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

Приведенный выше код выводит сообщение в Logcat каждый раз, когда изменяется статус флажков.