備忘録 〜プログラミング〜

プログラミングに関する事をつらつらと、、

FragmentのonSaveInstanceState(Bundle outState)が呼ばれない

複数のFragmentを使用するときに、Fragment1からFragment2に遷移して、再度Fragment1に戻ったときに、Fragment1が再度描画されてしまうので、以前の状態を保持したまま遷移したいと思い、このようにonSaveInstanceStateを実装しました。

@Override
public void onSaveInstanceState(Bundle outState) {
     outState.putInt("key", 0);
}

しかし、ここでBundleに保存をしようと思っても、肝心のonSaveInstanceStateが呼び出されません。
実際には、onSaveInstanceStateではなく、メンバ変数に保持するようです。
他にも方法はあるのかもしれませんが、とりあえずメンバ変数に保持する方法で、何とかいけました。

android - savedInstanceState when restoring fragment from back stack - Stack Overflow