我有一个ExpandableListActivity(使用SimpleCursorTreeAdapter),它在用户单击子元素时启动另一个活动。在新活动中按下后退按钮时,所有列表项都会再次折叠。如何保存ExpandableListActivity的展开状态并重新恢复。保存并恢复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);
}
我在做类似的位置http://stackoverflow.com/questions/10611927/simplecursortreeadapter-and-cursorloader – toobsco42 2012-05-16 07:22:12
@ toobsco42我不明白这是怎么涉及到的东西问题 – Tom 2012-05-16 08:39:38
当返回到先前的活动时,请小心再次设置适配器。重新设置适配器将折叠列表。 – jayeffkay 2013-05-08 10:30:25