1. ホーム
  2. android

[解決済み] android fragment- 別のフラグメントがプッシュされたときに、フラグメント内のビューの状態を保存する方法

2022-06-07 21:58:38

質問

アンドロイドでは、あるフラグメント(例えば FragA ) がバックスタックに追加され、別のフラグメント (例えば FragB ) が一番上に来ます。ここで、バックスタックを叩くと FragA が一番上に来て onCreateView() が呼び出されます。これで、私は FragA を特定の状態にする前に FragB がその上に押される前の特定の状態です。

私の質問は、どのようにすれば FragA を以前の状態に戻すことができますか?状態を保存する方法はありますか(例えばバンドルに)、そしてもしそうなら、どのメソッドをオーバーライドすればよいですか?

どのように解決するのですか?

フラグメントガイド FragmentListの例で見ることができます。

@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はフラグメントがバックスタックから戻った後に呼び出されます。