Hoạt động 1 sử dụng startActivityForResult :
startActivityForResult(ActivityTwo, ActivityTwoRequestCode);
Hoạt động 2 được khởi chạy và bạn có thể thực hiện thao tác, để đóng Hoạt động thực hiện việc này:
Intent output = new Intent();
output.putExtra(ActivityOne.Number1Code, num1);
output.putExtra(ActivityOne.Number2Code, num2);
setResult(RESULT_OK, output);
finish();
Hoạt động 1 - trở về từ hoạt động trước sẽ gọi onActivityResult :
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == ActivityTwoRequestCode && resultCode == RESULT_OK && data != null) {
num1 = data.getIntExtra(Number1Code);
num2 = data.getIntExtra(Number2Code);
}
}
CẬP NHẬT: Trả lời nhận xét của Seenu69, Trong hoạt động hai,
int result = Integer.parse(EditText1.getText().toString())
+ Integer.parse(EditText2.getText().toString());
output.putExtra(ActivityOne.KEY_RESULT, result);
Sau đó, trong hoạt động một,
int result = data.getExtra(KEY_RESULT);