android - Android 导航组件
问题描述
我在我的应用程序中添加了 Android 新导航组件并创建了 navGraph 并添加了一些片段作为目的地。我发现每次我导航到目的地之前的目的地(片段)都开始重新启动。而我上一个目的地(片段)的最后状态已经丢失。有什么选择可以保留这个吗?正如我已经retainInstance
在片段中使用的那样。
解决方案
我一直在我的项目中使用带有片段的导航组件,我发现保存片段状态的最简单方法是使用视图模型组件: https ://developer.android.com/topic/libraries/architecture/viewmodel?gclid =EAAIQobChMI442XtIuR4wIVhuiaCh0uGAFZEAAYASAAEgIRIfD_BwE
我一直在使用 MVP 架构,并在我的模型中扩展了视图模型。这样,只要您的活动没有被破坏,模型实例就会被保存,并且您可以在片段重新加载时访问它,因此它的所有参数仍然存在,因此您可以使用模型中保存的值重新初始化片段。
推荐阅读
- python-3.x - 使用 pymongo 从 csv 插入数组
- android - RecycleView 项目上的 Android 动画问题
- web-applications - 无法删除我的 Google Drive 中的文件...消息“Google Drive 中的协作者仍然可以访问一个已删除的文件”
- vba - Excel VBA:根据另一列中的单元格范围删除列中的行
- angular - 按钮单击事件中的数据绑定
- angular - Angular 5模板驱动表单随着一个字段的变化动态渲染选择字段的问题
- node.js - 如何根据其他 Json 数据更新 Mongodb 中的一个集合
- ios - VLCMobileKit 不播放 RTSP 视频
- vba - 在给定条件下使用 VBA 同时删除两行
- javascript - 无法在 Angular 4 发布请求中获取访问令牌