5

ViewPagerに2つのメソッドを実装することにより、現在の状態(現在の位置など)を保存しようとしています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);
}
4

1 に答える 1

-1

ViewPager から onSaveInstanceState メソッドを使用しようとしましたか? Activity/Fragment では、このメソッドを呼び出して ViewPager の状態を保存し、結果を Bundle に渡すことができます。

を使用してアクティビティ/フラグメント呼び出し onRestoreInstanceState(Parcelable p) を再構築した後

于 2015-10-26T12:50:44.907 に答える