当我绑定(bind)ObservableField<>
时XML 中 View 的对象,通过 set()
更改值立即反射(reflect)在 View 中。当我绑定(bind)LiveData<>
时然而,XML 中的对象会呈现初始值,但会通过 value=
进行更改对 View 没有影响。它们被传递给 Kotlin 观察者。
我假设LiveData
会像Observable*
一样工作XML 绑定(bind)中的类。难道不是这样吗?如果我需要观察 XML 和 Kotlin 中的值,我真的需要创建两个可观察量吗?
最佳答案
您可以利用数据绑定(bind)。 https://developer.android.com/topic/libraries/data-binding/
通过数据绑定(bind),当您的 LiveData 发生更改时,您的 xml 将收到通知。您还可以将观察者附加到 Java 代码中的相同实时数据。
希望这有帮助!
关于java - LiveData 对象可以在 XML 中观察吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53658476/