首页 > 解决方案 > Android 导航组件

问题描述

我在我的应用程序中添加了 Android 新导航组件并创建了 navGraph 并添加了一些片段作为目的地。我发现每次我导航到目的地之前的目的地(片段)都开始重新启动。而我上一个目的地(片段)的最后状态已经丢失。有什么选择可以保留这个吗?正如我已经retainInstance在片段中使用的那样。

标签: androidkotlinandroid-architecture-navigationandroid-jetpack-navigation

解决方案


我一直在我的项目中使用带有片段的导航组件,我发现保存片段状态的最简单方法是使用视图模型组件: https ://developer.android.com/topic/libraries/architecture/viewmodel?gclid =EAAIQobChMI442XtIuR4wIVhuiaCh0uGAFZEAAYASAAEgIRIfD_BwE

我一直在使用 MVP 架构,并在我的模型中扩展了视图模型。这样,只要您的活动没有被破坏,模型实例就会被保存,并且您可以在片段重新加载时访问它,因此它的所有参数仍然存在,因此您可以使用模型中保存的值重新初始化片段。


推荐阅读