Tengo una vista personalizada que extiende LinearLayout. Implementé onSaveInstanceState() y onRestoreInstanceState() para guardar el estado de vista actual. Sin embargo, no se realiza ninguna acción. Cuando coloco un registro dentro de esos dos métodos, tampoco aparece nada en Log Cat. Supongo que esos dos métodos ni siquiera son llamados. ¿Alguien puede explicar dónde está el problema? Gracias.onSaveInstanceState() y onRestoreInstanceState (estado Parcelable) no se llaman?
@Override
public Parcelable onSaveInstanceState() {
Bundle bundle = new Bundle();
bundle.putParcelable("instanceState", super.onSaveInstanceState());
bundle.putInt("currentPage", currentPage);
return bundle;
}
@Override
public void onRestoreInstanceState(Parcelable state) {
if (state instanceof Bundle) {
Bundle bundle = (Bundle) state;
currentPage = bundle.getInt("currentPage");
Log.d("State", currentPage + "");
super.onRestoreInstanceState(bundle.getParcelable("instanceState"));
return;
}
super.onRestoreInstanceState(state);
}
que tenían el mismo problema, pero era porque mi costumbre 'View' no tenía un conjunto' id'. Desde el documento _ "Tenga en cuenta que incluso si el congelamiento está habilitado, la vista todavía debe tener una identificación asignada (a través de setId (int)) para que se guarde su estado." _ –