繁体   English   中英

使用导航切换到另一个片段时保存片段数据

[英]Save Fragment data when switch to another fragment using Navigation

我刚开始我的第一个 Android 项目。 我的应用程序包含两个与导航控制器相连的片段。

至于现在,我在第一个片段上只有两个 EditText。 但是,我意识到当我切换到另一个片段并返回时,输入的文本已被清除。

所以我想知道我可以做些什么来保存日期并在我切换回来时恢复它们

我已经按照大多数人的建议尝试将它们保存在onSaveInstanceState()中,但是,它不起作用。 所以我做了一个小测试,结果发现当我切换片段时甚至没有调用onSaveInstanceState() 相反,正在调用onDestroy()onPause() ,人们不建议保存我的数据

我也尝试过使用ViewModel来保存数据,但是当我切换回原始Fragment时,保存到ViewModel中的数据似乎也没有了。

所以我不知道该怎么办? 谢谢!

您应该使用 ViewModel,在您的 Fragment.onViewCreated() 方法中通过 Activity 而不是 Fragment 创建您的 ViewModel

val myViewModel = ViewModelProvider(activity as ViewModelStoreOwner).get(MyViewModel::class.java)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM