354 votes

requestCode incorrect dans onActivityResult

Je démarre une nouvelle activité à partir de mon fragment avec

   startActivityForResult(intent, 1);

et je veux gérer le résultat dans l'activité parente du fragment.

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    Log.d(TAG, "onActivityResult, requestCode: " + requestCode + ", resultCode: " + resultCode);
    if (requestCode == 1) {
             // bla-bla-bla
    }
}

Le problème est que je n'ai jamais obtenu le requestCode que je viens de poster à startActivityForResult. J'ai obtenu quelque chose comme 0x40001, 0x20001 etc. Avec un bit supérieur aléatoire. Les documents ne disent rien à ce sujet. Avez-vous une idée ?

919voto

Changwei Yao Points 3724

Pour vous startActivityForResult du Fragment. Ainsi, le résultat sera livré au Fragment.

Si vous voulez obtenir des résultats dans votre activité, essayez de changer : startActivityForResult(intent, 1); à getActivity().startActivityForResult(intent, 1);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X