Estoy tratando de guardar un estado actual de ViewPager
(posición actual, etc.) implementando dos métodos en su PagerAdapter
: restoreState()
y saveState()
. Sin embargo, parece que no funcionan correctamente en mi caso. ¿Qué estoy haciendo mal?¿Por qué restoreState() y saveState() de PagerAdapter no funcionarán?
@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);
}
No debería estar llamando onSaveInstanceState y onRestoreInstanceState mismo. Déjalo en el marco de Android para hacerlo. –