【发布时间】:2020-08-13 04:26:24
【问题描述】:
使用Bottom Sheets和Dialog时如何进行操作:
- 将 SharedViewModel 与创建此底部工作表的片段一起使用?
- 根本不使用 ViewModel?
- 为 BottomSheet 创建单独的 ViewModel?
- 任何其他最佳做法
【问题讨论】:
标签: android android-fragments mvvm viewmodel
使用Bottom Sheets和Dialog时如何进行操作:
【问题讨论】:
标签: android android-fragments mvvm viewmodel
【讨论】:
我将使用第一种方法,使用 ShareViewModel,但如果您了解底层,共享 ViewModel 也是 ViewModel,它只是我们给它们的命名约定。
此外,有时编写单独的 ViewModel 来处理 Fragment 和底部工作表会变得乏味,而 MainActivity ViewModel 也可以做完全相同的事情。
我的意思是,为了避免复杂性,我为每个活动使用一个视图模型。现在,每当我想在片段或底部表中执行某些内容时,我只需在构造函数本身中传递视图模型。很多人会认为这是不好的做法,但这并不是因为根据视图模型的概念,它只会根据 Activity 的生命周期创建和销毁,并且始终只会创建一个实例。同样通过这样做,我可以对片段使用依赖注入(我认为 DI 不适用于导航组件,但我认为你明白了我的意思)。
【讨论】: