簡體   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