2016-12-13 8 views
0

1つのアクティビティで3つのフラグメントを使用しようとしていますが、そのフラグメントの1つがonCreate()メソッドでデフォルトフラグメントとして設定されています。 onCreate()メソッドを再度呼び出すと、現在のフラグメントが失われ、デフォルトのフラグメントが再び開始されますが、onCreate()メソッド内のデフォルトのフラグメントを使用する必要があります。実行中のフラグメントを画面を回転させたままにするにはどうすればよいですか?現在のフラグメントを画面の回転に維持する方法

+2

可能な重複があります(http [一旦全てのために、どのように正確に戻って、スタック内のフラグメントのインスタンスの状態を保存するには?]:// stackoverflowの。 com/questions/15313598/once-for-all-how-to-exactly-save-instance-of-back-stackスタックの状態) – petey

答えて

0

あなたはonCreateメソッドでsetRetainInstance(true)を使用できます。ランタイム構成変更時の断片でステートフルオブジェクトを保持する

は、フラグメントのクラスを拡張して、ステートフルオブジェクトへの参照を宣言します。

フラグメントが作成されるときにsetRetainInstance(boolean)を呼び出します。

フラグメントをアクティビティに追加します。

アクティビティが再開されたときにFragmentManagerを使用してフラグメントを取得します。設定の変更を処理する方法の

see documentationは、フラグメント・セクションの

関連する問題