onSaveInstanceState speichert nicht meine Werte (onCreate input Bundle ist immer null)

Bündel speichern (Aktivität A):

@Override protected void onSaveInstanceState(Bundle outState) { outState.putString("test", "value"); super.onSaveInstanceState(outState); } 

Navigieren zur Aktivität B;

  • AutoCompleteTextView wird von CursorLoader unterstützt
  • Samsung Galaxy s3 Emulator Einstellungen
  • Android: Bildschirmausrichtung / Rotation für Kameravorschau
  • Android: onPreviewFrame nie ohne SurfaceView aufgerufen
  • Wie benutzt man EMMA-Code-Abdeckung in Android
  • Welches Videoformat wird auf allen Android-Geräten abgespielt?
  •  startActivity(new Intent(getBaseContext(), B.class)); 

    Rückkehr zur Aktivität A:

     startActivity(new Intent(getBaseContext(), A.class)); 

    Versuchen, den Wert zu laden, den ich in Bündel in Aktivität A geschrieben habe:

     @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Log.d("MY", "saved instance is null"+ Boolean.toString(savedInstanceState == null)); } 

    Rückkehr immer gespeichertInstanceState = null. Was fehlt mir hier?

    onRestoreInstanceState wird nie ausgelöst, wenn ich zur Hauptaktivität zurückkehren werde

  • Download zum internen Speicher möglich?
  • Android Twitter Integration mit oauth und twitter4j
  • Android - Karussell wie Widget, die einen Teil der linken und rechten Elemente zeigt
  • Rect und RectF in Android SDK
  • Cordova - weißer Bildschirm nach Splash, keine Ausnahmen in der Konsole
  • Maven veröffentlichen android.library mit aar und source jar
  • 5 Solutions collect form web for “onSaveInstanceState speichert nicht meine Werte (onCreate input Bundle ist immer null)”

    Es ist nichts falsch mit deinem Code. Versuchen Sie, das Gerät zu drehen, wenn auf Aktivität A. Sie sehen das folgende im Protokoll, was bedeutet, dass Ihr onSaveInstanceState () funktioniert gut:

     saved instance is nullfalse 

    Hier ein Auszug aus der Android Developer Site , die Sie interessant finden können:

    Die Rückrufmethode, in der Sie Informationen über den aktuellen Status Ihrer Aktivität speichern können, ist onSaveInstanceState (). Das System ruft diese Methode auf, bevor die Aktivität anfällig für die Zerstörung ist und übergibt sie ein Bundle-Objekt. Das Bundle ist dort, wo Sie Statusinformationen über die Aktivität als Name-Wert-Paare mit Methoden wie putString () speichern können. Wenn das System den Vorgang Ihrer Aktivität tötet und der Benutzer zu Ihrer Aktivität zurückkehrt, übergibt das System das Bundle an onCreate (), damit Sie den Aktivitätsstatus wiederherstellen können, den Sie während der OnSaveInstanceState () gespeichert haben. Wenn es keine Statusinformationen gibt, die wiederhergestellt werden sollen, dann ist das Bundle an onCreate () übergeben.

    Anmerkung: Es gibt keine Garantie, dass onSaveInstanceState () aufgerufen wird, bevor deine Aktivität zerstört wird, da es Fälle gibt, in denen es nicht notwendig ist, den Zustand zu speichern (z. B. wenn der Benutzer deine Aktivität mit der ZURÜCK-Taste verlässt, weil die Benutzer schließt die Aktivität ausdrücklich ab). Wenn die Methode aufgerufen wird, wird sie immer vor onStop () und eventuell vorher onPause () aufgerufen.

    Ich habe diese Lösung durch:

     intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); 

    wenn die alte Absicht neu gestartet wird, die den gespeicherten Zustand vom Hintergrund hat. Ohne diese Flagge denke ich, dass, wenn startActivity aufgerufen wird, es eine neue Instanz der Aktivität schafft, anstatt das alte aus dem Stack zu bekommen.

    Sie müssen super.onSaveInstanceState (outState) machen, bevor Sie Inhalte hinzufügen.

    Wenn Sie zu einer anderen Aktivität navigieren und zurückkommen, ist es am besten, sie in SharedPreference in der onPause() Methode zu speichern, die beim Ausführen einer neuen Aktivität ausgeführt werden soll. Auf der anderen Activity kann der Wert in onCreate() indem auf die gemeinsame Präferenz zugegriffen wird.

    onSaveInstanceState du den Zustand deines Fragments über eine Rotation des Geräts behalten willst und du onSaveInstanceState dich, dass onSaveInstanceState niemals aufgerufen wird:

    1. Überprüfen Sie, ob Sie super.onSaveInstanceState(outState); in all deinen onSaveInstanceState Funktionen.
    2. Überprüfen Sie, dass Sie nicht android:configChanges in your AndroidManifest.xml.
    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.