嗨,我试图了解ViewModels和Navigation Component的工作原理。
我正在使用导航组件,我有不同的片段,可以在不同的ViewModels中访问和保存数据。
当片段被销毁时,ViewModel会被清除,而当我回到该片段时,ViewModel将没有数据。
据我了解,当视图旋转时, ViewModel用来保存数据,但是当视图被破坏时,然后当再次创建视图时,数据消失,则视图模型已完全清除。
正如我所看到的,与此viewModel相关的活动/片段被破坏,然后ViewModel进程进入onCleared()
但是NavigationComponent正在破坏我的片段,因此ViewModel也被清除了。
问题:那么如何使用重新创建/销毁视图的NavigationController防止丢失ViewModel中的所有数据?我应该尝试找到一种实现显示/隐藏的方法吗?
编辑1:找到了以下解决方案:https://stackoverflow.com/a/51684125/9420348