Tôi có 3 lớp trong ví dụ của mình: Lớp A, hoạt động chính. Lớp A gọi một startActivityForResult:
Intent intent = new Intent(this, ClassB.class);
startActivityForResult(intent, "STRING");
Lớp B, lớp này là TabActivity:
Intent intent = new Intent(this, ClassC.class);
tabHost.addTab...
Lớp C, lớp này là một Hoạt động thường xuyên:
Intent intent = this.getIntent();
intent.putExtra("SOMETHING", "EXTRAS");
this.setResult(RESULT_OK, intent);
finish();
onActivityResult được gọi trong Lớp A, nhưng Mã kết quả là RESULT_CANCELED
thay vì RESULT_OK
và mục đích trả về là null. Làm cách nào để tôi trả lại một cái gì đó từ Hoạt động bên trong Tabhost?
Tôi nhận ra rằng vấn đề là Lớp C của tôi thực sự đang chạy bên trong Lớp B, và Lớp B là thứ đang quay trở RESULT_CANCELED
lại Lớp A. Tôi chỉ chưa biết một công việc xung quanh.