131

何か不足していますかFragment、それとも方法がありませんonRestoreInstanceState()か? そうでない場合、どうすれば同様のことを達成できますか?

4

5 に答える 5

214

フラグメントにはメソッドがありませんonRestoreInstanceState

onActivityCreated保存されたインスタンスの状態 (または null) を持つバンドルを受け取る で同じ結果を得ることができます。

ここでソースコードを確認してください。

于 2011-03-24T00:28:13.707 に答える
30

Fragments ガイドの 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()フラグメントがスタックから戻った後に呼び出されます。

于 2014-05-07T12:27:29.900 に答える
20

onViewStateRestoredofFragmentは of と同等onRestoreInstanceStateですActivity。しかし、それは afteronActivityCreated(Bundle)と beforeで呼び出されonStart()ます。

于 2016-06-25T07:56:28.817 に答える