can*_*wow 5 android android-livedata
MyApp 需要在整个上下文中保存一个 User 对象?A、B、C 活动的 xml 使用这个 User 对象,当 A 编辑用户时,我想让 B 和 C 通知更改,如何处理 databinding、livedata 和 viewModel 的这个问题?
以前我让User.class扩展BaseObservable,但是POJO会很麻烦,不能为空,有时User可能为空,比如没有登录。现在我改为使用 LiveData,使 Pojo 变得简单而不扩展 BaseObservable,但是当 A 编辑、B 和 C 不起作用时,我想我需要 ABC 在内存中使用相同的 viewModel 实例,但这会导致多次触发 viewModel 的 onClear()。
如果您想在 ABC Activity 之间共享公共 ViewModel,那么建议将它们保留为单个 Activity 中的 3 个片段,创建该 Activity 的 ViewModel,该 ViewModel 可以在所有三个片段 A、B 和 C 之间共享。
另外,您想要通过活动实现的目标是这样的,假设您在活动 A 中完成了一些操作,如果您希望活动 B 和 C 收到有关它们的通知,那么它们需要运行才能收到通知,这不会正在发生,因此您应该在活动开始时使用Intent或传递所需的信息。Bundle
更新
还有其他方法可以实现类似的功能,例如,
这将允许您拥有应用程序级别的状态访问权限,任何 Activity 或 Fragment 都可以访问该状态
| 归档时间: |
|
| 查看次数: |
4905 次 |
| 最近记录: |