我试图使用android数据绑定。但是当我使用android:visibility
条件时,我遇到了一些问题。与android:visibility="size == 0
?
View.GONE : View.VISIBLE
"一样。
当它返回false时,它将首先显示此视图,然后暂时显示它已消失。
我能解决这个问题吗?或者这是数据库的错误?
答案 0 :(得分:0)
我曾经尝试过像这样的代码
android:visibility="@{size==0?View.GONE:View.VISIBLE}"
,
但它无法编译。我不知道为什么,也许这是一个错误。
所以我使用代码代替,首先编写一个帮助程序。
public class Helper {
@BindAdapter("bind:attr")
public static void setAttr(View view, Object obj) {
if (someCondition(obj)){
view.doSomething();
}
}
}
其次,在xml文件中使用自定义attr
<View
...other attrs...
app:attr="@{obj}" />
请注意:
&#39; attr&#39;在注释中必须与&#39; attr&#39;相同。用于xml文件。
静态方法中的视图必须与xml文件中的视图相同。
My Gradle版本和dataBinder版本
dependencies {
classpath 'com.android.tools.build:gradle:1.5.0'
classpath "com.android.databinding:dataBinder:1.+"
}
并删除此视图中无关的其他操作。
或提供您的活动代码。