благодаря этому ответу Android Fragment lifecycle issue (NullPointerException on onActivityResult) Мне удалось создать сценарий, когда я получаю NPE в своем фрагменте после вызова startActivityForResult. Так у меня естьAndroid Fragment уничтожается, но получает onActivityResult
Intent photoPickerIntent = new Intent(Intent.ACTION_PICK);
photoPickerIntent.setType("image/*");
startActivityForResult(photoPickerIntent, PHOTO_SELECT_REQUEST_CODE);
break;
вызывается из моего фрагмента, то моя деятельность получает OnPause, OnStop и OnDestroy, поэтому фрагмент, который называется startActivityForResult
получает OnDestroy, а также. После того, как я выбираю изображение, я получаю новый onCreate в своей деятельности, а затем получаю public void onActivityResult
на моем исходном фрагменте, который теперь уничтожен.
Мой вопрос в том, что это потенциально (хотя и редкая) ситуация, как бы восстановить весь стек фрагментов и объектов, переданных им, и что он делает, чтобы предотвратить утечку исходного фрагмента?
Вы уверены, что onActivityResult доставляется к старому фрагменту? Пробовали ли вы регистрировать объект фрагмента (this) в onCreate/onCreateView и onActivityResult? Это даст вам четкое представление о том, какой фрагмент вызывается onActivityResult. –