У меня есть 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);
}