java - LiveData 对象在 XML 中是否可观察?
问题描述
当我将ObservableField<>
对象绑定到 XML 中的视图时,对值的更改set()
会立即反映在视图中。但是,当我在 XML 中绑定LiveData<>
对象时,会呈现初始值,但更改 viavalue=
对视图没有影响。它们被传递给 Kotlin 观察者。
我假设LiveData
会像Observable*
XML 绑定中的类一样工作。不是这样吗?如果我需要同时观察 XML 和 Kotlin 中的值,我真的需要创建两个可观察对象吗?
解决方案
您可以使用数据绑定。https://developer.android.com/topic/libraries/data-binding/
使用数据绑定,当您的 LiveData 发生更改时,您的 xml 将收到通知。您还可以将观察者附加到 Java 代码中的相同实时数据。
希望这会有所帮助!
推荐阅读
- django - django.db.utils.OperationalError:没有这样的表:store_product
- javascript - 在实例化自定义元素之前是否触发了 document.readyState === "interactive"?
- html - 对一个 div 元素应用两个 CSS 过渡
- python - 是否可以使用 sympy Integral 从 pandas Dataframe 生成派生变量?
- spring-boot - jasypt.encryptor.password 是否可以有两个不同的值?
- ocaml - Opam 中的图形安装
- c++ - random_bytes_engine 一遍又一遍地生成相同的密钥
- ios - 如何在 NSData 中获取字节??(swift5)
- flutter - 在颤动中动态扩展一个组件并压缩另一个组件
- excel - VBA 不寻常的单元格地址