我在应用程序内部添加了Android新的Navigation Component,并创建了navGraph并添加了一些片段作为目标。我知道每次导航到目的地时,先前的目的地(片段)开始重新启动。我以前的目的地(片段)的最后状态丢失了。有什么保留的办法吗?
因为我已经在片段中使用过retainInstance
。
答案 0 :(得分:1)
我一直在项目中使用带有片段的导航组件,并且发现保存片段状态的最简单方法是使用视图模型组件: https://developer.android.com/topic/libraries/architecture/viewmodel?gclid=EAIaIQobChMI442XtIuR4wIVhuiaCh0uGAFZEAAYASAAEgIRIfD_BwE
我一直在使用MVP体系结构,并且在我的模型中扩展了视图模型。 这样,只要您的活动没有被破坏,就可以保存模型实例,并且您可以在重新加载片段时访问它,因此所有参数仍然存在,因此您可以使用模型中保存的值重新初始化片段。