私はAndroidアプリを開発しています。アクティビティで onSaveInstanceState イベントを使用してテストしています。しかし、onCreate イベントを取得すると、値の文字列が常に空であるため、期待どおりに動作しません。
これが私の活動です
@Override
public void onSaveInstanceState(Bundle outState, PersistableBundle outPersistentState) {
super.onSaveInstanceState(outState, outPersistentState);
outState.putString("message","Hello world!");
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if(savedInstanceState!=null)
{
Toast.makeText(getBaseContext(),savedInstanceState.getString("message"),Toast.LENGTH_SHORT).show();
//Log.i("DATA_FROM_STATE",savedInstanceState.getString("message"));
}
}
アクティビティを実行して向きを変えると、常に空のメッセージが表示されます。ログ行のコメント解除をテストすると、データ文字列が空または null であるため、エラーが発生します。なぜ機能しないのですか?どうすれば正しく保存および取得できますか?