我从我的工人活动开始 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()调用。实际上,除了 OnCreate()以外,MyConfigure类没有任何代码,它使用 addPreferencesFromResource加载首选项。
现在 onActivityResult与 1458的 requestCode一起被过早地调用,就在 MyConfigure活动运行之后。在1.6和2.1仿真器以及2.1设备上进行了测试。有没有打到 setResult()的电话埋在 PreferenceActivity的某个地方?否则怎么解释这个过早的电话呢?