【问题标题】:Android - Fragment doesn't saveInstanceStateAndroid - 片段不保存InstanceState
【发布时间】:2014-12-18 20:44:13
【问题描述】:

我是 android 新手,我有一个片段,它经历了 onPause、destroyView、destroy,但从未调用过 onSaveInstanceState。

这是预期的吗?

如何保存状态?

@Override
public void onSaveInstanceState(Bundle outState) {
    outState.putParcelable(KEY_CATEGORY, category);
    super.onSaveInstanceState(outState);
}

【问题讨论】:

    标签: android android-fragments


    【解决方案1】:

    当系统将要从内存中删除您的片段/出于任何原因重新创建它时,系统会调用onSaveInstanceState。否则不会被调用。

    如果这是您的情况并且仍然没有调用onSaveInstanceState,您的片段的代码 sn-p 可能会有所帮助。

    由于省略了调用超类的这个方法这一行,这种情况发生了很多次。比如here。确保你调用它。

    【讨论】:

    • super 肯定会被调用。我认为问题可能在于片段管理器永远不会重用该片段,因为包含视图已被删除
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-04
    • 2014-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多