代替startActivityForResult(new Intent(ParentActivity.this, ChildActivity.class), ACTIVITY_CONSTANT);
您可以使用 putExtras() 方法在活动之间传递值:
在儿童活动中:
Intent data = new Intent();
data.putExtra("myData1", "Data 1 value");
data.putExtra("myData2", "Data 2 value");
// Activity finished ok, return the data
setResult(RESULT_OK, data);
finish();
在 Parent 活动中,您可以覆盖 onActivityResult() 并且在其中您可以拥有 Intent 参数,并且从该方法的 Intent 参数中您可以检索从子活动传递的额外值,例如 intent.getStringExtra 或 intent.getSerializableExtra。
例如:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK && requestCode == REQUEST_CODE) {
if (data.hasExtra("myData1")) {
Toast.makeText(this, data.getExtras().getString("myData1"),
Toast.LENGTH_SHORT).show();
}
}
}