Я запускаю 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 of 1458 преждевременно, сразу после выполнения операции MyConfigure. Протестировано на эмуляторах 1.6 и 2.1, а также на устройстве 2.1. Есть ли вызов setResult() похоронен где-то в PreferenceActivity? Или как еще можно объяснить этот преждевременный вызов?