Я хочу установить видимость представления в зависимости от состояния флажка CheckBox. Нечто подобное мы делаем в preference.xml.
В настоящее время я делаю
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
>
<data>
<import type="android.view.View"/>
<variable
name="isScheduleChecked"
type="java.lang.Boolean"/>
<variable
name="activity"
type="com.amelio.ui.activities.ActivityCart"/>
</data>
<LinearLayout
style="@style/llDefault"
android:layout_height="match_parent"
android:orientation="vertical"
>
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onCheckedChanged="@{()-> isScheduleChecked}"
android:text="Checkbox"/>
<LinearLayout
style="@style/llDefault"
android:padding="@dimen/space_small"
android:visibility="@{isScheduleChecked ? View.VISIBLE : View.GONE, default = gone}"
>
</LinearLayout>
</LinearLayout>
</layout>
Это не работает. Я думаю android:onCheckedChanged="@{()-> isScheduleChecked}"
эта строка не работает. Что я делаю не так? Некоторые говорят мне, как лучше всего это реализовать.
В настоящее время я изменяю isScheduleChecked моей деятельностью в Java-коде, например binding.setIsScheduleChecked(true/false);
, но я не пишу код в Java-классе для просто установки видимости.