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