У меня есть ExpandableListActivity (с использованием SimpleCursorTreeAdapter), который запускает другое действие, когда пользователь нажимает на дочерний элемент. При нажатии кнопки "Назад" в новом действии все элементы списка снова свернуты. Как сохранить расширенное состояние ExpandableListActivity и восстановить его снова.
Я уже пытался реализовать onSaveInstanceState() и onRestoreInstanceState() как это...
@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);
}
... но onRestoreInstanceState() никогда не вызывается. Я также попытался восстановить состояние в методе onCreate(), но он также не вызывается:
if (savedInstanceState != null) {
Parcelable listState = savedInstanceState.getParcelable("ListState");
getExpandableListView().onRestoreInstanceState(listState);
}