gpt4 book ai didi

android - 为什么 PagerAdapter 的 restoreState() 和 saveState() 不起作用?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:31:28 27 4
gpt4 key购买 nike

我试图通过在 PagerAdapter 中实现两个方法来保存 ViewPager 的当前状态(当前位置等):restoreState()saveState()。但是,就我而言,它们似乎无法正常工作。我做错了什么?

@Override
public Parcelable saveState() {

Bundle bundle = new Bundle();
bundle.putParcelable("instanceState", super.saveState());
bundle.putInt("stateToSave", position);
return bundle;
}

@Override
public void restoreState(Parcelable state, ClassLoader c) {
if (state instanceof Bundle) {
Bundle bundle = (Bundle) state;
position = bundle.getInt("stateToSave");
super.restoreState(bundle.getParcelable("instanceState"), c);
return;
}
super.restoreState(state, c);
}

最佳答案

您是否尝试使用 ViewPager 的 onSaveInstanceState 方法?在您的 Activity/Fragment 中,您可以通过调用此方法保存 ViewPager 的状态并将结果传递给 Bundle。

在使用

重建 Activity/Fragment 调用 onRestoreInstanceState(Parcelable p) 之后

关于android - 为什么 PagerAdapter 的 restoreState() 和 saveState() 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12323226/

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