Eu começo o Activity(descendente de PreferenceActivity) da minha atividade de trabalho da seguinte forma:
@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);
}
MyConfigureclasse NÃO tem setResult()chamadas. Na verdade, a MyConfigureclasse não tem nenhum código, exceto OnCreate()onde carrega as preferências usando addPreferencesFromResource.
Agora onActivityResulté chamado requestCodede 1458prematuramente, logo após a MyConfigureatividade ser executada. Testado em emuladores 1.6 e 2.1, bem como em dispositivos 2.1. Existe uma chamada para setResult()enterrado em algum lugar PreferenceActivity? Ou de que outra forma essa chamada prematura pode ser explicada?