Dank dieser Antwort Android Fragment lifecycle issue (NullPointerException on onActivityResult) Ich habe es geschafft, ein Szenario neu zu erstellen, wenn ich nach dem Aufruf von startActivityForResult eine NPE in meinem Fragment erhalte. So ich habeAndroid-Fragment wird zerstört und empfängt onActivityResult
Intent photoPickerIntent = new Intent(Intent.ACTION_PICK);
photoPickerIntent.setType("image/*");
startActivityForResult(photoPickerIntent, PHOTO_SELECT_REQUEST_CODE);
break;
von meinem Fragment genannt wird, dann meine Tätigkeit onPause, OnStop und onDestroy empfängt, so dass das Fragment, das startActivityForResult
genannt bekommt eine onDestroy auch. Nachdem ich ein Bild ausgewählt habe, erhalte ich ein neues onCreate für meine Aktivität und dann bekomme ich eine public void onActivityResult
auf meinem ursprünglichen Fragment, das jetzt zerstört ist.
Meine Frage ist, da dies potentiell (wenn auch eine seltene) Situation ist, wie würde man den gesamten Stapel von Fragmenten und Objekten wiederherstellen und was würde man tun, um zu verhindern, dass das ursprüngliche Fragment ausläuft?
Sind Sie sicher, dass bei der Implementierung der onActivityResult zu alten Fragment geliefert wird? Haben Sie versucht, das Fragmentobjekt (this) in onCreate/onCreateView und onActivityResult zu protokollieren? Dadurch erhalten Sie eine klare Vorstellung davon, welches Fragment das onActivityResult aufgerufen wird. –