Answers:
我知道,您已经接受了答案,但是您应该阅读有关fragment的官方文档,并说(第7节“处理fragment Fragment的生命周期”):
您可以使用捆绑包保留片段的状态,以防活动的进程被杀死,并且在重新创建活动时需要恢复片段的状态。您可以在片段的onSaveInstanceState()回调期间保存状态,并在onCreate(),onCreateView()或onActivityCreated()期间还原状态
所以,你可以使用最适合你:onCreate()
,onCreateView()
或onActivityCreated()
在片段指南的ListFragment 示例中,您可以找到:
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putInt("curChoice", mCurCheckPosition);
}
您可以这样使用:
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
if (savedInstanceState != null) {
// Restore last state for checked position.
mCurCheckPosition = savedInstanceState.getInt("curChoice", 0);
}
}
onActivityCreated()
在片段从堆栈返回后被调用。
onViewStateRestored
of Fragment
等于onRestoreInstanceState
的Activity
。但是它被称为after onActivityCreated(Bundle)
和after onStart()
。