【发布时间】:2019-04-29 15:58:35
【问题描述】:
在ViewModel 和one activity multiple fragments 概念的时代,关于在Activity vs. Fragment 中放置Toasts、Snackbars 有什么建议。
很明显
- 新意图
- 片段事务/片段设置
- 权限请求
- 呈现导航组件(抽屉、查看器)
应该由活动来处理,但是 Toasts/Snackbars 呢?
关于如何在 Fragment 中显示 Toast 或 Snackbars 以及如何 + 何时使用 getContext() 有很多 SO 问题,我倾向于让活动处理所有显示消息。
使用 ViewModel 和 SingleLiveEvent 很容易拥有一个 sharedViewModel,它将被 Activity 和 Fragment 观察,并且在需要时,Fragment 会调度一个通知 Activity 显示消息的事件。
那么,在考虑责任和关注点分离的同时,您认为最佳做法/建议是什么?
【问题讨论】:
标签: android android-architecture-components android-viewmodel