回答:
フラグメントにはonRestoreInstanceState
メソッドがありません。
onActivityCreated
保存されたインスタンス状態(またはnull)のバンドルを受け取るでも同じ結果が得られます。
ここでソースコードを確認してください。
私はあなたが答えを受け入れたことを知っていますが、フラグメントに関する公式のドキュメントを読んでください、そしてそれは述べています(段落「フラグメントのライフサイクルの処理」):
アクティビティのプロセスが強制終了され、アクティビティが再作成されたときにフラグメントの状態を復元する必要がある場合に備えて、バンドルを使用してフラグメントの状態を保持できます。フラグメントのonSaveInstanceState()コールバック中に状態を保存し、onCreate()、onCreateView()、またはonActivityCreated()のいずれかで状態を復元できます。
:だから、あなたが最も適していることを使用することができonCreate()
、onCreateView()
またはをonActivityCreated()
フラグメントガイドのListFragmentの例では、以下を見つけることができます。
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putInt("curChoice", mCurCheckPosition);
}
次のように使用できます:
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
if (savedInstanceState != null) {
// Restore last state for checked position.
mCurCheckPosition = savedInstanceState.getInt("curChoice", 0);
}
}
onActivityCreated()
フラグメントがスタックから戻った後に呼び出されます。
onViewStateRestored
of Fragment
はの同等onRestoreInstanceState
ですActivity
。しかし、それはonActivityCreated(Bundle)
前後に呼ばれonStart()
ます。