J'ai une ExpandableListActivity (en utilisant un SimpleCursorTreeAdapter) qui démarre une autre activité lorsque l'utilisateur clique sur un élément-enfant. Lorsque vous appuyez sur le bouton de retour dans la nouvelle activité, tous les éléments de la liste sont à nouveau réduits. Comment puis-je sauvegarder l'état développé de ExpandableListActivity et le restaurer à nouveau.Enregistrer et restaurer l'état déplié/replié d'une ExpandableListActivity
Je l'ai déjà essayé de mise en œuvre onSaveInstanceState() et onRestoreInstanceState() comme ça ...
@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);
}
... mais onRestoreInstanceState() ne fait jamais appelé. J'ai aussi essayé de rétablir l'état dans la méthode onCreate(), mais il est pas appelé ainsi:
if (savedInstanceState != null) {
Parcelable listState = savedInstanceState.getParcelable("ListState");
getExpandableListView().onRestoreInstanceState(listState);
}
Je suis en train de faire quelque chose de similaire ICI http://stackoverflow.com/questions/10611927/simplecursortreeadapter-and-cursorloader – toobsco42
@ toobsco42 Je ne vois pas comment cela est lié à la question – Tom
Attention à la remise en place de l'adaptateur lors du retour à l'activité précédente. La configuration de l'adaptateur réduira la liste. – jayeffkay