2017-05-31 1 views
-4

J'ai essayé de publier l'activité onActivityResult() dans ses sous-fragments et j'ai obtenu un NPE. Je n'ai aucune idée de pourquoi le fragment est nul.getSupportFragmentManager(). GetFragments() NPE

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 

    for (Fragment fragment : getSupportFragmentManager().getFragments()) { 
     if (fragment != null) { 
      fragment.onActivityResult(requestCode, resultCode, data); 
     } 
    } 
} 

Excpetion:
java.lang.NullPointerException: tentative d'invoquer la méthode virtuelle 'vide android.support.v4.app.Fragment.onActivityResult (int, int, android.content.Intent)' sur une référence d'objet nul

+0

poster le code complet qui contient ceci pour la boucle – tompadre

+0

Je sais la raison maintenant. Thx tout de même. –

+0

"Je connais la raison maintenant." - Pourquoi ne répondez-vous pas alors? –

Répondre

0

Il existe une méthode "makeInactive (Fragment f)" dans FragmentManager qui utilise "mActive.set (f.mIndex, null);" pour définir le fragment nul. J'aurais dû penser qu'il suffit de supprimer le fragment de la liste au lieu de lui attribuer une valeur nulle.