Tôi bắt đầu Activity
(hậu duệ của PreferenceActivity
) từ hoạt động công nhân của mình như sau:
@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
lớp KHÔNG có bất kỳ setResult()
cuộc gọi nào . Trên thực tế, MyConfigure
lớp không có bất kỳ mã nào ngoại trừ OnCreate()
nơi nó tải các tùy chọn bằng cách sử dụng addPreferencesFromResource
.
Bây giờ onActivityResult
được gọi với requestCode
của 1458
sớm, ngay sau khi MyConfigure
hoạt động được chạy. Đã thử nghiệm trên trình giả lập 1.6 và 2.1 cũng như thiết bị 2.1. Có một cuộc gọi setResult()
chôn cất ở đâu đó PreferenceActivity
? Hoặc làm cách nào khác có thể giải thích cho cuộc gọi quá sớm này?