1

ユーザーが戻るボタンを押したときにフラグメントの状態を保存し、次にフラグメントをロードするときにそれを復元するにはどうすればよいですか?試してみonSaveInstanceStateましたが、反撃しても呼び出されず、Bundle渡されたのonCreatenullです。

コンテキストとして、ユーザーがボタンを押したときに新しいゲームアクティビティを開始するタイトルアクティビティ(「新しいゲーム」など)があります。onCreate2番目の(ゲーム)アクティビティは、カスタムで構成されるXMLレイアウトをロードしますFragment。ユーザーが戻るボタンを押したときに、タイトルのアクティビティに戻りたいのですが、「ゲームの再開」ボタンを提供します。そのためには、フラグメントのカスタム状態データを保存する必要があります。

4

1 に答える 1

1

デフォルトでは、ユーザーが戻るを押したときにonSaveInstanceState()呼び出しは発生しません

ユーザーが[戻る]ボタンを押すと、現在のアクティビティがスタックからポップされ、>破棄されます。スタック内の前のアクティビティが再開されます。アクティビティが破棄されると、システムはアクティビティの状態を保持しません。

したがって、これを実行する方法は次のようになります。(1)アクティビティのonBackPressed()を、(2)フラグメントインスタンスを保存する独自の実装でオーバーライドします。FragmentManager.saveFragmentInstanceState()を見てください-これがあなたが必要としているものだと私は信じています

于 2012-10-03T00:14:42.797 に答える