【发布时间】:2016-11-15 04:22:15
【问题描述】:
我正在尝试 Android 的数据绑定功能,但 Observable 字段似乎不会将更改传播到 UI。
如果我扩展 BaseObservable 类,一切都会按预期工作,但是当我切换到 ObservableBoolean 或 ObservableField 时,数据会发生变化,但不会传播到 UI。
模型
public class User {
public final ObservableBoolean tapped = new ObservableBoolean(false);
public boolean isTapped() {
return tapped.get();
}
public void setTapped(boolean tapped) {
this.tapped.set(tapped);
}
}
布局
<layout
<data>
<variable
name="user"
type="User"/>
....
</data>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:background="@{user.tapped ? @color/colorAccent : @color/white}"
android:onClick="@{() -> user_holder.onClickTest(user)}">
......
</LinearLayout>
</layout>
有什么想法吗?
【问题讨论】:
标签: android data-binding android-databinding