android - 单个片段中的多个 LiveData 观察者
问题描述
我在如下片段中使用多个 Livedata ovserver。这是最好的方法吗?
final Observer<String> textLeftObserver = textLeft -> {
//body
};
final Observer<String> textRightObserver = textRight -> {
//body
};
appViewModel.getTextLeft().observe(getViewLifecycleOwner(), textLeftObserver);
appViewModel.getTextRight().observe(getViewLifecycleOwner(), textRightObserver);
解决方案
您可以在一个片段中使用多个观察者。只有当每个观察者的数据流不同时,这才完全没问题。
例如你有一个用户流和一个订单流在这里使用两个观察者很好。
但是,如果您正在观察两个流,一个是用户名和用户年龄。那么您可以只使用用户对象创建一个流并收听它而不是创建两个。
我希望它能帮助你理解。
推荐阅读
- c++ - char == char 是否将两个操作数隐式转换为 int?
- python - 删除第一次出现特定值下方的行
- python - 如何将 ORM 对象或此类对象列表与数据库“重新连接”?
- laravel - 在 Laravel 中哪里可以订阅 Redis Pub/Sub?
- typescript - 允许子类使用函数属性或方法覆盖
- java - 如何将 DefaultMutableTreeNode (Java) 序列化为 JSON?
- android - 使用 Intent 在活动之间传递字节数组时如何修复“致命异常”?
- api - 如何从“测试”包中测试 Golang 中的主包?
- php - 用php读取包含逗号的大型csv文件
- pyspark - 如何从 pyspark SparseVector 获取密钥