0

Für Fragment sate Spar Ich glaube, ich über zwei Methoden kam:Saving Fragment Staats Methoden

  1. onSaveInstanceState verwenden.
  2. Verwenden von Backstack zum Ausblenden, Hinzufügen und Anzeigen des Fragments.

Ich bin unsicher, ob dies zwei Methoden sind oder beides erforderlich ist, z.B. Wird onSaveInstanceState speziell verwendet, um nur die Änderung der Rotation zu behandeln, oder kann einer von ihnen verwendet werden?

+0

Sie Daten in Bündel mit onSaveInstanceState speichern kann und es abrufen, wenn Ausrichtung geändert wird. Die erste reicht aus, um den Fragmentstatus bei einer Orientierungsänderung zu handhaben. –

Antwort

0

Sie können die Instanz eines Fragments mit onSaveInstanceState speichern. Keine Notwendigkeit der zweiten Methode. Wenn Sie jedoch Fragment auf Back Preess neu erstellen möchten, ersetzen Sie Fragment anstelle von Fragment hinzufügen. Wenn Sie Fragment auffrischen wollen, dann auf Fortsetzen Methode aufrufen und aktualisiert Daten erhalten, indem Sie Ihre Methode bei auf Resume-Aufruf

@Override 
    public void onBackStackChanged() { 
     FragmentManager fragmentManager = getSupportFragmentManager(); 
     Fragment fr = fragmentManager.findFragmentById(R.id.content_frame); 
     if (fr != null) { 
      fr.onResume(); 
     } 

    }