gpt4 book ai didi

android - 为什么 FragmentPagerAdapter saveState 总是空的?

转载 作者:太空狗 更新时间:2023-10-29 14:18:30 25 4
gpt4 key购买 nike

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

这是我的方法调用

@Override
protected void onSaveInstanceState(Bundle outState) {
outState.putInt(FRAGMENT, viewPager.getCurrentItem() + 1);
outState.putParcelable(ADAPTER, fragmentTabAdapter.saveState());
super.onSaveInstanceState(outState);
}

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

最佳答案

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

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

}

关于android - 为什么 FragmentPagerAdapter saveState 总是空的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19174827/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com