NavigationComponent每次都会重新创建我的片段

时间:2020-08-24 16:12:22

标签: android-fragments android-viewmodel android-architecture-navigation android-jetpack-navigation

嗨,我试图了解ViewModels和Navigation Component的工作原理。

我正在使用导航组件,我有不同的片段,可以在不同的ViewModels中访问和保存数据。

当片段被销毁时,ViewModel会被清除,而当我回到该片段时,ViewModel将没有数据。

据我了解,当视图旋转时, ViewModel用来保存数据,但是当视图被破坏时,然后当再次创建视图时,数据消失,则视图模型已完全清除。

正如我所看到的,与此viewModel相关的活动/片段被破坏,然后ViewModel进程进入onCleared()

enter image description here

但是NavigationComponent正在破坏我的片段,因此ViewModel也被清除了。

问题:那么如何使用重新创建/销毁视图的NavigationController防止丢失ViewModel中的所有数据?我应该尝试找到一种实现显示/隐藏的方法吗?

编辑1:找到了以下解决方案:https://stackoverflow.com/a/51684125/9420348

0 个答案:

没有答案