首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安卓片段onRestoreInstanceState

安卓片段onRestoreInstanceState
EN

Stack Overflow用户
提问于 2011-03-24 07:00:39
回答 5查看 76.3K关注 0票数 130

是我遗漏了什么,还是Fragment没有onRestoreInstanceState()方法?如果不是,我该如何达到类似的效果呢?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-03-24 08:28:14

片段没有onRestoreInstanceState方法。

您可以在onActivityCreated中实现相同的结果,它接收一个具有保存的实例状态(或null)的包。

查看源代码here

票数 212
EN

Stack Overflow用户

发布于 2014-12-10 22:37:09

我知道,您已经接受了答案,但您应该阅读official documentation about fragments,它说(“处理片段生命周期”这一段):

您可以使用包保留片段的状态,以防活动的进程被终止,并且您需要在重新创建活动时恢复片段状态。您可以在片段的onSaveInstanceState()回调期间保存状态,并在onCreate()、onCreateView()或onActivityCreated()期间恢复它。

因此,您可以使用最适合自己的语言:onCreate()onCreateView()onActivityCreated()

票数 48
EN

Stack Overflow用户

发布于 2014-05-07 20:27:30

在Fragments guide的ListFragment example中,您可以找到:

代码语言:javascript
复制
@Override
public void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);
    outState.putInt("curChoice", mCurCheckPosition);
}

它可以像这样使用:

代码语言:javascript
复制
@Override
public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
    if (savedInstanceState != null) {
        // Restore last state for checked position.
        mCurCheckPosition = savedInstanceState.getInt("curChoice", 0);
    }
}

在片段从堆栈返回之后调用onActivityCreated()

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

https://stackoverflow.com/questions/5412746

复制
相关文章

相似问题

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