Я починаю 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з 1458передчасно, відразу після того, MyConfigureдіяльність виконується. Тестувався на емуляторах 1.6 та 2.1, а також на пристрої 2.1. Чи є заклик setResult()поховати десь у PreferenceActivity? Або як ще можна пояснити цей передчасний дзвінок?