我想确切知道恢复片段时Android系统还原了什么。它只是在onCreateView()中创建的rootView,还是片段类中的所有对象?
根据docs我们知道片段管理器会自动恢复片段的状态吗?但这是唯一的观点状态吗?
注意:片段事务只能在活动保存其状态之前创建/提交。如果您尝试在Activity.onSaveInstanceState()之后(以及之后的Activity.onStart或Activity.onResume()之前提交事务,则会出现错误。这是因为框架负责保存当前片段在州内,如果在保存状态后进行了更改,那么它们将会丢失。
我必须使用
saveFragmentInstanceState(Fragment f)
如果我想保存我的非视图对象?
答案 0 :(得分:1)
如果你想特别保存任何东西,你应该像这样重写onSaveInstanceState():
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putInt("TAG_OF_YOUR_CHOICE", yourIntVariable); //This is to save an int
}
有关默认方法的详细信息,请read the documentation。