Wiederherstellen des Aktivitätsstatus nach Klicken auf die Schaltfläche "Zurück"

Ich kann nicht herausfinden, warum savedInstanceState in der onCreate-Methode immer null ist, wenn ich Daten erfolgreich in der onSaveInstanceState-Methode im Bundle speichere. Wenn ich mein Programm auf AVD starte und auf die Schaltfläche "Zurück" klicke (Aktivität zerstören) und es dann erneut durch Klicken auf das entsprechende Symbol erstelle, ist der gespeicherte Status immer null. Hier ist ein einfaches Programm, das dieses Problem testet.

package com.example.myTestApp;

import android.app.Activity;
import android.os.Bundle;
import android.widget.Button;

public class MyActivity extends Activity {
    /**
     * Called when the activity is first created.
     */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Button button = (Button)findViewById(R.id.button);
        if(savedInstanceState == null){
            button.setText("No");
        }else{
            button.setText("Yes");
        }
    }

    static final String STATE_SCORE = "playerScore";
    static final String STATE_LEVEL = "playerLevel";
    private int mCurrentScore = 1;
    private int mCurrentLevel = 2;


    @Override
    public void onSaveInstanceState(Bundle savedInstanceState) {
        super.onSaveInstanceState(savedInstanceState);

        savedInstanceState.putInt(STATE_SCORE, mCurrentScore);
        savedInstanceState.putInt(STATE_LEVEL, mCurrentLevel);

    }
}

Sagen Sie mir, wie Sie dieses Problem lösen können, wenn dies möglich ist.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage