Как мы можем реализовать привязку данных для кнопки Switch для события onCheckedChageListener?

Как указывает вопрос, как связать проверенный прослушиватель изменений с кнопкой переключения в xml?

Я не использую просмотр recycler. Просто макет.

Любая помощь была оценена.

Ответ 1

Вы можете сделать это с помощью ссылки на метод:

<CheckBox android:onCheckedChanged="@{callback::checkedChangedListener}".../>

или с выражением лямбда, если вы хотите передать разные параметры:

<CheckBox android:onCheckedChanged="@{() -> callback.checked()}".../>

Ответ 2

Использование лямбда-выражения и Switch:

public void onCheckedChanged(boolean checked) {
     // implementation      
}

XML файл:

<android.support.v7.widget.SwitchCompat
    android:onCheckedChanged="@{(switch, checked) -> item.onCheckedChanged(checked)}"
    ...
/>

Где item - класс, реализующий метод onCheckedChange и импортируемый в XML файл следующим образом:

<data>
    <variable
        name="item"
        type="yourClass"/>
</data>