我有一个大表单要显示,它不能显示在一个页面上。所以我们把它分成7个部分,每个部分由一个片段组成,所有这些片段都使用选项卡布局和视图寻呼机导航。为了访问数据绑定,每个片段都有它们的on view模型。现在的问题是我们可以随机选择任何选项卡和更新数据,所以我们需要一个中央位置来存储和更新数据,但是数据是复杂的json模型,所以不能很容易地存储在数据库中,还有其他选择吗?
发布于 2022-04-08 18:13:20
如果您想集中数据,那么使用活动作用域ViewModel。
在片段中初始化视图模型,如下所示:
private val someViewModel: SomeViewModel by activityViewModels()或
private val someOtherViewModel: SomeOtherViewModel by lazy {
ViewModelProvider(requireActivity()).get(SomeOtherViewModel::class.java)
}通过这种方式,您可以将所有数据操作集中起来,或者在单个位置形成完成。
https://stackoverflow.com/questions/71653968
复制相似问题