2017-01-29 12 views
0

onCave()メソッドでトーストを表示するだけで、これをonSaveInstanceState()メソッドのキー "message"で保存しています。私は間違って何をしていますか?onSaveInstanceState()に保存されたデータがすべてnullを返す理由

@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"); 
    } 

私はすでにonSaveInstanceState()で次のように2つのステートメントを切り替えてみましたが、同じ結果が得られました。

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

この 'public void onSaveInstanceState(Bundle outState){'は、それは欺瞞です、私はすでに答えました –

答えて

0

あなたがいないPersistableBundle outPersistentStateを持っている他のメソッドをオーバーライドする必要があります。

@Override 
    public void onSaveInstanceState(Bundle outState) { 
     super.onSaveInstanceState(outState); 
     outState.putString("message", "This is my message to be reloaded"); 
    } 
関連する問題