Rozpoczynam Activity(potomka PreferenceActivity) od mojej działalności pracowniczej w następujący sposób:
@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);
}
MyConfigureklasa NIE ma żadnych setResult()wywołań. W rzeczywistości MyConfigureklasa nie ma żadnego kodu, z wyjątkiem miejsca, w OnCreate()którym ładuje preferencje za pomocą addPreferencesFromResource.
Teraz onActivityResultjest wywoływana z requestCodez 1458przedwcześnie, zaraz po MyConfigureuruchomieniu czynności. Testowano na emulatorach 1.6 i 2.1 oraz urządzeniu 2.1. Czy jest wezwanie do setResult()pochowania gdzieś w środku PreferenceActivity? Albo jak inaczej można wytłumaczyć to przedwczesne wezwanie?