簡體   English   中英

從后台彈出活動時保存並恢復片段

[英]Save and restore fragment when activity is popped from back stack

當用戶按下“后退”按鈕時,如何保存片段的狀態,然后在下次加載片段時將其還原? 我嘗試了onSaveInstanceState ,但是當我回擊時它不會被調用,並且傳遞給onCreateBundlenull

對於上下文,我有一個標題Activity,當用戶按下按鈕時(例如,“ New game”),該活動將啟動一個新游戲Activity。 第二個(游戲)活動在onCreate加載XML布局,該布局由自定義Fragment 當用戶按下“后退”按鈕時,我想返回標題“活動”,但提供“繼續游戲”按鈕。 為此,我需要為Fragment保存一些自定義狀態數據。

默認情況下,用戶按Back時不會發生onSaveInstanceState()調用

如果用戶按下“后退”按鈕,則當前活動將從堆棧中彈出並被破壞。 恢復堆棧中的先前活動。 當活動被銷毀時,>系統不會保留該活動的狀態。

因此,您似乎可以做到這一點:(1)使用您自己的實現覆蓋活動的onBackPressed(),並在其中(2)保存片段實例。 看一看FragmentManager.saveFragmentInstanceState()-我相信這就是您所需要的

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM