ฉันเริ่มต้นActivity(ผู้สืบทอดPreferenceActivity) จากกิจกรรมคนงานของฉันดังนี้:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1458)
loadInfo();
}
void showSettingsDialog()
{
startActivityForResult(new Intent().setClass(this, MyConfigure.class), 1458);
}
MyConfigureชั้นเรียนไม่มีsetResult()สายใด ๆ ในความเป็นจริงMyConfigureชั้นไม่ได้มีรหัสใด ๆ ยกเว้นที่มันโหลดการตั้งค่าการใช้OnCreate()addPreferencesFromResource
ตอนนี้onActivityResultเรียกว่ามีrequestCodeของ1458ก่อนกำหนดหลังจากMyConfigureกิจกรรมเป็นระยะ ทดสอบกับ 1.6 และ 2.1 อีมูเลเตอร์รวมถึงอุปกรณ์ 2.1 มีการโทรไปsetResult()ฝังที่ไหนสักแห่งPreferenceActivityไหม? หรือจะอธิบายการโทรก่อนกำหนดนี้ได้อย่างไร?