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

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

Радиокнопки позволяют пользователю выбрать один вариант из набора взаимоисключающих вариантов. Используйте радиокнопки, если пользователю необходимо увидеть все доступные варианты. Если показывать все варианты не обязательно, используйте вместо них выпадающий список.

Пример радиокнопок из material.io
Рисунок 1. Пример радиокнопок из Material Design .

Для создания каждого варианта радиокнопки создайте RadioButton в вашем макете. Поскольку радиокнопки являются взаимоисключающими, сгруппируйте их в RadioGroup . Система гарантирует, что в группе можно выбрать только одну радиокнопку за раз.

Реагировать на события клика

Когда пользователь выбирает переключатель, соответствующий объект RadioButton получает событие клика.

В следующем примере показана реакция пользователя на нажатие объекта RadioButton в группе:

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

Внутри Activity или Fragment , в котором размещен этот макет, найдите переключатели и установите для каждого из них обработчик события изменения следующим образом:

Котлин

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

В этом примере, когда пользователь нажимает на одну из радиокнопок, в Logcat выводится сообщение.