我正在尝试保存ViewPager的当前状态(当前位置等)。通过在其PagerAdapter中实现两个方法: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);
}发布于 2015-10-26 20:50:45
您是否尝试使用ViewPager中的onSaveInstanceState方法?在您的活动/片段中,您可以通过调用此方法来保存ViewPager的状态,并将结果传递给Bundle。
使用以下命令重新构建活动/片段调用onRestoreInstanceState(Parcelable p)
https://stackoverflow.com/questions/12323226
复制相似问题