Android片段事务 - 它们是恢复所有对象的状态还是只恢复视图?

时间:2016-10-12 21:27:15

标签: android android-fragments

我想确切知道恢复片段时Android系统还原了什么。它只是在onCreateView()中创建的rootView,还是片段类中的所有对象?

根据docs我们知道片段管理器会自动恢复片段的状态吗?但这是唯一的观点状态吗?

  

注意:片段事务只能在活动保存其状态之前创建/提交。如果您尝试在Activity.onSaveInstanceState()之后(以及之后的Activity.onStart或Activity.onResume()之前提交事务,则会出现错误。这是因为框架负责保存当前片段在州内,如果在保存状态后进行了更改,那么它们将会丢失

我必须使用

saveFragmentInstanceState(Fragment f)

如果我想保存我的非视图对象?

1 个答案:

答案 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