onRestoreInstanceState はいつ呼び出されますか? 質問する

onRestoreInstanceState はいつ呼び出されますか? 質問する

理解力がなくて申し訳ありませんが、私は Android 開発の初心者です。

アクティビティ A とアクティビティ B を含むアプリケーションがあり、アクティビティ A からアクティビティ B に移動します。アクティビティ A を離れたときにメソッドがonSaveInstanceState呼び出されましたが、アクティビティ A (同じアプリケーションのアクティビティ B から) に戻ったときに、メソッド内のバンドルがonCreatenull でした。

アクティビティ A の以前の状態を保存するにはどうすればよいですか? アプリケーションの有効期間中のみデータを保存したいです。

誰かこれを手伝ってくれませんか?

アクティビティ A のコードは次のとおりです。

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

    if (savedInstanceState != null)
    {
        Log.v("Main", savedInstanceState.getString("test"));
    }
    else
    {
        Log.v("Main", "old instance");
    }
}  

@Override
public void onSaveInstanceState(Bundle savedInstanceState) 
{
    Log.v("Main", "save instance");

    savedInstanceState.putString("test", "my test string");

    super.onSaveInstanceState(savedInstanceState);
}


public void buttonClick(View view)
{
    Intent intent = new Intent(this, Activity2.class);
    startActivity(intent);
}

アクティビティ A に戻るためにボタンを押したときのアクティビティ B のコードは次のとおりです。

public void onBack(View view)
{
    NavUtils.navigateUpFromSameTask(this);
}

ベストアンサー1

質問への回答については、Android のドキュメントをご覧ください。android.os.Bundle の Activity インスタンスステートを復元します。

アクティビティライフサイクルの onStart() メソッドの後に onRestoreInstanceState が呼び出されることがわかります。

おすすめ記事