根据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();