アプリケーションの状態を保存して、閉じた状態から再度開いたときに最後のフラグメントが表示され、バックスタックが保持されるようにしたいと思います。向きを変えたり、システムがアプリを強制終了してリソースを解放したりするときだけでなく、アプリケーションを閉じるたびにこの状態を保持したいと思います(onSaveInstanceState()
/を使用する場合のように) onRestoreInstanceState()
。
これまでのところ、状態をSharedPreferencesに保存し、後で復元することで、以前のフラグメントとその状態を計画どおりに復元することができました。ただし、これはフラグメントのバックスタックを保持しないため、ユーザーがアプリケーションをロードし、戻るボタンを押してアプリケーションフローの「上」に移動すると、アプリは上に移動せずに終了します。
この時点で必要なのは、システムの場合と同じように、アプリケーションのバックスタックにアクセスし、必要に応じてバンドルに保存できるようにすることですonSaveInstanceState()
。のドキュメントを読みましたFragmentManager.saveFragmentInstanceState()
が、これを使用して目標を達成する方法がわかりません。誰かが私を正しい方向に向けることができますか?
Android互換ライブラリのフラグメント実装を使用しています。