2017-09-26 18 views
0

1つのアクティビティに複数のフラグメントがあります。フラグメントを切り替えるときにフラグメントの状態を保存したい。しかし、アクティビティは再作成されず、onSaveInstanceStateは呼び出しません。何とかバンドルを保存することはできますか(たとえば、)?フラグメントの状態を保存します。

+0

[1回だけ、バックスタックにフラグメントのインスタンス状態を正しく保存する方法は?](https://stackoverflow.com/questions/15313598/once-for-all-how-to-correctly-save -instance-of-back-stack-in-back-stack) – 0X0nosugar

答えて

0

新しいフラグメントを作成するたびに、このようにメソッドaddToBackStack()を使用してください。

if (fragment == null) { 
     fragment = new MyFragmentClass(); 
     manager.beginTransaction() 
       .add(R.id.your_fragment_id, fragment) 
       .addToBackStack(null) 
       .commit(); 
    } 

フラグメントはコミット後に記憶され、後でスタックからポップされるとその動作が逆になります。

+0

しかし、バンドルに追加データを保存したい場合はどうすればいいですか? – sandeor30r

関連する問題