Я запускаю 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
? Или как еще можно объяснить этот преждевременный вызов?