java - LiveData 对象可以在 XML 中观察吗?

标签 java android kotlin android-databinding android-livedata

当我绑定(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/

相关文章:

android - Kotlin : How to use if-else like condition with let block for 'null' checks

Java - 输出不打印?

java - 在加载应用上下文之前启动一个 Servlet

java - 不应用对 View 的编程更改

android - 从另一个 JNI 类获取类对象

Kotlin 协程 GlobalScope.launch 与 runBlocking

java - 如何按字段打印类对象的内容?

java - 从数组中查找数字的范围

android - 从 adb shell 读取二进制标准输出数据,如 screencap 数据?

kotlin - 如何在 Kotlin 中为数据类指定类型类