首页 > 解决方案 > LiveData 对象在 XML 中是否可观察?

问题描述

当我将ObservableField<>对象绑定到 XML 中的视图时,对值的更改set()会立即反映在视图中。但是,当我在 XML 中绑定LiveData<>对象时,会呈现初始值,但更改 viavalue=对视图没有影响。它们传递给 Kotlin 观察者。

我假设LiveData会像Observable*XML 绑定中的类一样工作。不是这样吗?如果我需要同时观察 XML 和 Kotlin 中的值,我真的需要创建两个可观察对象吗?

标签: javaandroidkotlinandroid-databindingandroid-livedata

解决方案


您可以使用数据绑定。https://developer.android.com/topic/libraries/data-binding/

使用数据绑定,当您的 LiveData 发生更改时,您的 xml 将收到通知。您还可以将观察者附加到 Java 代码中的相同实时数据。

希望这会有所帮助!


推荐阅读