Android导航组件

时间:2019-04-17 12:03:57

标签: android kotlin android-architecture-navigation android-jetpack-navigation

我在应用程序内部添加了Android新的Navigation Component,并创建了navGraph并添加了一些片段作为目标。我知道每次导航到目的地时,先前的目的地(片段)开始重新启动。我以前的目的地(片段)的最后状态丢失了。有什么保留的办法吗? 因为我已经在片段中使用过retainInstance

1 个答案:

答案 0 :(得分:1)

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

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