Réponses:
Les fragments n'ont pas de onRestoreInstanceState
méthode.
Vous pouvez obtenir le même résultat dans onActivityCreated
, qui reçoit un bundle avec l'état d'instance enregistré (ou null).
Vérifiez le code source ici .
Je sais que vous avez accepté la réponse, mais vous devriez lire la documentation officielle sur les fragments , et elle dit (paragraphe "Gestion du cycle de vie des fragments"):
Vous pouvez conserver l'état d'un fragment à l'aide d'un Bundle, au cas où le processus de l'activité serait arrêté et que vous deviez restaurer l'état du fragment lorsque l'activité est recréée. Vous pouvez enregistrer l'état pendant le rappel onSaveInstanceState () du fragment et le restaurer pendant onCreate (), onCreateView () ou onActivityCreated ()
Ainsi , vous pouvez utiliser que vous convient le mieux: onCreate()
, onCreateView()
ouonActivityCreated()
Dans l' exemple ListFragment du guide Fragments, vous pouvez trouver:
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putInt("curChoice", mCurCheckPosition);
}
Que vous pouvez utiliser comme ceci:
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
if (savedInstanceState != null) {
// Restore last state for checked position.
mCurCheckPosition = savedInstanceState.getInt("curChoice", 0);
}
}
onActivityCreated()
est appelée après le retour du fragment de la pile.
onViewStateRestored
de Fragment
est l'équivalent onRestoreInstanceState
de Activity
. Mais il est appelé après onActivityCreated(Bundle)
et avant onStart()
.