首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么FragmentPagerAdapter saveState总是为空?

为什么FragmentPagerAdapter saveState总是为空?
EN

Stack Overflow用户
提问于 2013-10-04 14:35:41
回答 1查看 753关注 0票数 3

我想保存我的FragmentPagerAdapter的状态,以便在屏幕方向改变后可以重新使用它。不幸的是,saveState方法总是返回null。我的适配器由一个带有两个FragmentsActionBar组成。

下面是我的方法调用

代码语言:javascript
复制
@Override
protected void onSaveInstanceState(Bundle outState) {
    outState.putInt(FRAGMENT, viewPager.getCurrentItem() + 1);
    outState.putParcelable(ADAPTER, fragmentTabAdapter.saveState());
    super.onSaveInstanceState(outState);
}

但outState中的适配器始终为空。我不明白为什么。关于saveState的使用,我是不是遗漏了什么特别的东西?希望你能帮助我!

EN

回答 1

Stack Overflow用户

发布于 2013-11-26 23:00:42

如果碎片未被销毁,则此示例有效

代码语言:javascript
复制
private int pageID;

@Override
public void onPause() {
super.onPause();
pageID = mViewPager.getCurrentItem(); // 1 save
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

mViewPager.setCurrentItem(pageID, false); // 2 load

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

https://stackoverflow.com/questions/19174827

复制
相关文章

相似问题

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