Tengo una ExpandableListActivity (usando un SimpleCursorTreeAdapter) que inicia otra actividad cuando el usuario hace clic en un elemento secundario. Al presionar el botón Atrás en la nueva actividad, todos los elementos de la lista colapsan nuevamente. ¿Cómo guardo el estado expandido de ExpandableListActivity y lo restauro de nuevo?Guardar y restaurar el estado expandido/contraído de una ExpandableListActivity
Ya he probado a onSaveInstanceState implementado() y onRestoreInstanceState() así ...
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
Parcelable listState = getExpandableListView().onSaveInstanceState();
outState.putParcelable("ListState", listState);
}
@Override
protected void onRestoreInstanceState(Bundle state) {
super.onRestoreInstanceState(state);
Parcelable listState = state.getParcelable("ListState");
getExpandableListView().onRestoreInstanceState(listState);
}
... pero onRestoreInstanceState() no es llamado. También probé para restaurar el estado en el método onCreate(), pero no se llama así:
if (savedInstanceState != null) {
Parcelable listState = savedInstanceState.getParcelable("ListState");
getExpandableListView().onRestoreInstanceState(listState);
}
estoy haciendo algo similar aquí http://stackoverflow.com/questions/10611927/simplecursortreeadapter-and-cursorloader – toobsco42
@ toobsco42 No veo cómo esto se relaciona con la pregunta – Tom
Tenga cuidado de volver a configurar el adaptador cuando regrese a la actividad anterior. Volver a establecer el adaptador colapsará la lista. – jayeffkay