ในตัวอย่างของฉันฉันมี 3 คลาส: Class A ซึ่งเป็นกิจกรรมหลัก คลาส A เรียก startActivityForResult:
Intent intent = new Intent(this, ClassB.class);
startActivityForResult(intent, "STRING");
คลาส B คลาสนี้เป็น TabActivity:
Intent intent = new Intent(this, ClassC.class);
tabHost.addTab...
คลาส C คลาสนี้เป็นกิจกรรมปกติ:
Intent intent = this.getIntent();
intent.putExtra("SOMETHING", "EXTRAS");
this.setResult(RESULT_OK, intent);
finish();
onActivityResult ถูกเรียกใน Class A แต่ resultCode นั้นRESULT_CANCELED
แทนRESULT_OK
และเจตนาที่ส่งคืนเป็นโมฆะ ฉันจะส่งคืนบางสิ่งจากกิจกรรมภายใน TabHost ได้อย่างไร
ฉันรู้ว่าปัญหาคือ Class C ของฉันทำงานอยู่ใน Class B จริง ๆ แล้ว Class B คือสิ่งที่ส่งคืนRESULT_CANCELED
กลับไปที่ Class A ฉันยังไม่ทราบวิธีแก้ไข