显示按下BACK按钮后输入的内容

时间:2012-07-26 07:19:42

标签: android android-layout android-intent android-emulator android-fragments

我有两个片段。

FirstFragment显示输入表单

Class FirstFragment extends Fragment {
   ...
}

用户在FirstFragment上方提交表单后,会显示SecondFragment

Class SecondFragment extends Fragment{
 ...
}

现在,当用户按下物理 BACK 按钮时,FirstFragment表单会再次显示。

此时,我还想显示用户之前输入的内容,并填写表单中的输入,以便用户无需再次输入所有内容。

如何在我的两个片段中实现此功能?

2 个答案:

答案 0 :(得分:0)

覆盖onSaveInstanceState(),确保调用super.onSaveInstanceState()来保留片段。恢复onCreate(),onCreateView()或onActivityCreated()中的状态。请参阅Handling the Fragment LifecycleSaving Activity State

答案 1 :(得分:0)

如果从后台堆栈返回一个片段,它不会重新创建片段,而是重新使用相同的实例,并从片段生命周期中的onCreateView()开始,请参阅片段生命周期。

因此,如果你想存储状态,你应该使用实例变量而不是依赖onSaveInstanceState()。