0

I'm saving this a string with the key "message" on onSaveInstanceState() method to simply display a toast in onCreate() method It's not working. What am I doing wrong ?

 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initComponents();
        onClickLogin();

        if(savedInstanceState!=null){
            String message = savedInstanceState.getString("message");
            Toast.makeText(this, message, Toast.LENGTH_LONG).show();
        }
    }

    @Override
    public void onSaveInstanceState(Bundle outState, PersistableBundle outPersistentState) {
        super.onSaveInstanceState(outState, outPersistentState);
        outState.putString("message", "This is my message to be reloaded");
    }

I've already tried switching 2 statements in onSaveInstanceState() like below but i got same results.

@Override
    public void onSaveInstanceState(Bundle outState, PersistableBundle outPersistentState) {
        outState.putString("message", "This is my message to be reloaded");
        super.onSaveInstanceState(outState, outPersistentState);
    }

1 Answers1

0

You must override the other method that has no PersistableBundle outPersistentState.

   @Override
   public void onSaveInstanceState(Bundle outState) {
      super.onSaveInstanceState(outState);
      outState.putString("message", "This is my message to be reloaded");
   }
Enzokie
  • 7,365
  • 6
  • 33
  • 39