複数のタブがあり、その中にそれぞれのアクティビティグループがあります。あるタブから別のタブに移動してからヒットバックすると、インテントデータが失われます。
たとえば、アクティビティ1を開始し、アクティビティグループを介してオブジェクト1をアクティビティ2に渡し、次にアクティビティ3に移動してオブジェクト1を渡しますが、アクティビティ2に戻ると、onCreateが呼び出されることはなく、必要に応じてインテントデータを設定できません。アクティビティ3に戻ります。
複数のタブがあり、その中にそれぞれのアクティビティグループがあります。あるタブから別のタブに移動してからヒットバックすると、インテントデータが失われます。
たとえば、アクティビティ1を開始し、アクティビティグループを介してオブジェクト1をアクティビティ2に渡し、次にアクティビティ3に移動してオブジェクト1を渡しますが、アクティビティ2に戻ると、onCreateが呼び出されることはなく、必要に応じてインテントデータを設定できません。アクティビティ3に戻ります。
使用できるアクティビティ間でデータを送信する場合、startActivitiForResult
または次のような操作を行うことができます。
Intent intent = new Intent(Activity.this, Activiti2.class);
intent.putExtra("key", "value");
startActivity(intent);
アクティビティ2:
String getData = getIntent().getStringExtra("key","default value");
// or getParent().getIntent().getStringExtra("key","default value"); depending on your situation.
また、Activity2からActivityにデータを送信する場合は、次のようにすることができます。
Intent intent = getParent().getIntent();
intent.putExtra("key", 0); // default sorting
getParent().setResult(RESULT_OK, intent);
finish();