0

2つのフラグメントがあります。

FirstFragment入力フォームを表示します

Class FirstFragment extends Fragment {
   ...
}

ユーザーが上記のフォームを送信するFirstFragmentと、SecondFragmentが表示されます。

Class SecondFragment extends Fragment{
 ...
}

これで、ユーザーが物理的な[戻る]ボタンを押すと、FirstFragmentフォームが再び表示されます。

この時点で、ユーザーが以前に入力した内容も表示し、ユーザーがすべてを再入力する必要がないように、フォームに入力を入力します。

この機能を2つのフラグメントに実装するにはどうすればよいですか?

4

2 に答える 2

0

onSaveInstanceState()をオーバーライドし、必ずsuper.onSaveInstanceState()を呼び出してフラグメントを保持します。onCreate()、onCreateView()、またはonActivityCreated()で状態を復元します。フラグメントライフサイクルの処理アクティビティ状態の保存を参照してください。

于 2012-07-26T07:31:24.663 に答える
0

バックスタックからフラグメントに戻ると、フラグメントは再作成されませんが、同じインスタンスが再利用され、フラグメントのライフサイクルでonCreateView()から始まります。フラグメントのライフサイクルを参照してください。

したがって、状態を保存する場合は、onSaveInstanceState()に依存せずに、インスタンス変数を使用する必要があります。

于 2012-07-26T09:20:34.593 に答える