В соответствии с http://developer.android.com/tools/data-binding/guide.html#imports мы можем иметь такие простые выражения в видимости:
<TextView
..
android:visibility="@{user.isAdult ? View.VISIBLE : View.GONE}"/>
Но когда я пытаюсь сделать то же самое в теге include
, например:
<include
android:id="@+id/image_layout"
layout="@layout/image_layout"
android:visibility="@{notification.notifType == 0 ? View.VISIBLE : View.GONE}"/>
Затем Studio не только отображает выражение в красном цвете, но и при его создании дает следующую ошибку в автоматически сгенерированном классе привязки:
Ошибка: (138, 29) ошибка: не удается найти метод символа setVisibility (int)
Здесь, где ошибка возникает в автоматически сгенерированном классе привязки
// batch finished
if ((dirtyFlags & 0x3L) != 0) {
// api target 1
this.imageLayout.setVisibility(NotifTypeNotificatio1);
}
imageLayout.executePendingBindings();