我有两个片段。
FirstFragment
显示输入表单
Class FirstFragment extends Fragment {
...
}
用户在FirstFragment
上方提交表单后,会显示SecondFragment
。
Class SecondFragment extends Fragment{
...
}
现在,当用户按下物理 BACK 按钮时,FirstFragment
表单会再次显示。
此时,我还想显示用户之前输入的内容,并填写表单中的输入,以便用户无需再次输入所有内容。
如何在我的两个片段中实现此功能?
答案 0 :(得分:0)
覆盖onSaveInstanceState(),确保调用super.onSaveInstanceState()来保留片段。恢复onCreate(),onCreateView()或onActivityCreated()中的状态。请参阅Handling the Fragment Lifecycle和Saving Activity State。
答案 1 :(得分:0)
如果从后台堆栈返回一个片段,它不会重新创建片段,而是重新使用相同的实例,并从片段生命周期中的onCreateView()开始,请参阅片段生命周期。
因此,如果你想存储状态,你应该使用实例变量而不是依赖onSaveInstanceState()。