首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >安卓-手动调用onSaveInstanceState不起作用

安卓-手动调用onSaveInstanceState不起作用
EN

Stack Overflow用户
提问于 2018-05-28 11:13:19
回答 2查看 701关注 0票数 0

我在一个活动中托管了一个android片段。该活动不会重写任何onsaveInstanceState或onRestoreInstanceState方法。在我的代码片段中,我放入了以下代码:

代码语言:javascript
复制
  @Override
    public void onDestroy() {
        super.onDestroy();
        Bundle b = new Bundle();
        b.putParcelable("mymodel", myModel);
        onSaveInstanceState(b);
    }

当用户点击后退按钮时,我看到这是被调用的(我知道不能保证会调用ondestroy,这不是我要说的)。所以我设置了一个断点,然后这段代码就被调用了。然后,我返回到活动,它打开了片段,但在oncreate和onViewCreated中,savedInstanceState为空。我做错了什么?我想我可以手动调用它来保存状态?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-05-28 11:44:53

不能手动调用onSaveInstanceState。这个框架会帮你做到这一点。调用它只会更新捆绑包,而不会更新框架捆绑包。正确的方法是覆盖它并保存数据。

票数 1
EN

Stack Overflow用户

发布于 2018-05-28 13:56:10

你不应该手动调用onSaveInstanceState,Android Framework的工作就是在必要的时候这样做。

如果您想保存信息并在以后检索它,只需覆盖onSaveInstanceState并将您的信息放入包中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50558646

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档