Сохранение и восстановление развернутого / свернутого состояния ExpandableListActivity

У меня есть 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);
}
11
задан Tom 15 November 2010 в 16:16
поделиться