BindingAdapter не распознается во время выполнения - PullRequest
0 голосов
/ 26 мая 2019

Я делаю экран вкладок, используя привязку данных.

Я хочу изменить стиль кнопки вкладки, когда нажимаю кнопку вкладки или экран со вкладкой пролистывания.
(кнопка «Вкладка» - окно «Обзор утилит», экран вкладки - viewpager2)

Другое хорошо работает.
Пример) Имя меню вкладки, menuSelected изменение значения, проверка событий.

Но функция BindingAdapter не запущена (журнал выполнения.d не виден.)

@BindingAdapter({"textStyle"})
public static void setTextSize(TextView tv, boolean selected) {
     Log.d("Test", "BindingAdapter TextView: " + selected);
     TextViewCompat.setTextAppearance(tv, selected
             ? R.style.horizon_selected
             : R.style.horizon_unselected);
}

Модель

@Getter
@Setter
public class HorizontalUI extends MenuUI {
    boolean menuSelected;
    public HorizontalUI (String menuName) {
        super(menuName);
        menuSelected = false;
    }
}

Пункт утилизации

<layout
    ...
    <data>
        <import type="android.widget.TextView" />
        <variable
            name="item"
            type="com.example.package.HorizontalUI" />
    </data>

    <LinearLayout
        ...>

        <TextView
            ...
            android:text="@{item.menuName}"
            bind:textStyle="@{item.menuSelected}"/>
    </LinearLayout>
</layout>

...