Как установить onTabChanged на TabLayout в XML для вызова метода viewModel? - PullRequest
0 голосов
/ 24 августа 2018

Я работаю над приложением MVVM для Android.Фрагмент содержит TabLayout, который выглядит следующим образом:

<android.support.design.widget.TabLayout
    android:id="@+id/tab_layout"
    android:layout_width="match_parent"
    android:layout_height="?android:attr/actionBarSize"
    android:layout_marginTop="@dimen/tablayout_top_padding"
    android:textAlignment="center"
    android:visibility="gone"
    app:tabGravity="fill"
    app:tabIndicatorColor="@color/primary_color"
    app:tabMode="fixed"
    app:tabSelectedTextColor="@color/primary_color"
    app:tabTextAppearance="@style/TabTextAppearance"
    app:tabTextColor="@color/icon_gray">

</android.support.design.widget.TabLayout>

Я хотел бы иметь возможность добавить эту строку в XML:

 android:onTabChanged="@{(tabId) -> viewModel.selectedTabPosition(tabId)}"

Произошла следующая ошибка:

Обнаружены ошибки привязки данных.**** / ошибка связывания данных.потому что onTabChanged - это метод для TabHosts, а не для TabLayout.

Вопрос :Я хотел бы знать, есть ли способ достичь чего-то вроде onTabChanged (пример выше) без необходимости написания пользовательского BindingAdapter.

...