我正在尝试通过在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);
}
答案 0 :(得分:-1)
您是否尝试过使用ViewPager中的onSaveInstanceState方法?在Activity / Fragment中,您可以通过调用此方法保存ViewPager的状态,并将结果传递给Bundle。
使用
重建Activity / Fragment调用onRestoreInstanceState(Parcelable p)