Hao*_* Xu 5 data-binding android
我正在尝试使用 android 数据绑定。但是当我使用android:visibility条件时遇到了一些问题。喜欢android:visibility="size == 0 ? View.GONE : View.VISIBLE”。
当它返回 false 时,它会先显示这个视图,然后一会儿就消失了。
我可以解决这个问题吗?或者这是数据的错误?
我曾经尝试过这样的代码
android:visibility="@{size==0?View.GONE:View.VISIBLE}",但它无法编译。我不知道为什么,也许这是一个错误。
所以我使用以下代码代替,首先编写一个 Helper。
public class Helper {
@BindAdapter("bind:attr")
public static void setAttr(View view, Object obj) {
if (someCondition(obj)){
view.doSomething();
}
}
}
Run Code Online (Sandbox Code Playgroud)
其次,在xml文件中使用自定义attr
<View
...other attrs...
app:attr="@{obj}" />
Run Code Online (Sandbox Code Playgroud)
笔记:
注释中的“attr”必须与 xml 文件中使用的“attr”相同。
静态方法中的View必须与xml文件中的View相同。
我的 Gradle 版本和 dataBinder 版本
dependencies {
classpath 'com.android.tools.build:gradle:1.5.0'
classpath "com.android.databinding:dataBinder:1.+"
}
Run Code Online (Sandbox Code Playgroud)
并且,删除与此视图无关的其他操作。
或者提供您的活动代码。
| 归档时间: |
|
| 查看次数: |
690 次 |
| 最近记录: |