感谢这个回答 Android Fragment生命周期问题(onActivityResult中的NullPointerException),我成功地重新创建了一个场景,当我调用startActivityForResult后,在我的Fragment中收到了一个NPE。
所以我有:
被从我的片段调用,然后我的活动接收到onPause、onStop和onDestroy,因此调用了startActivityForResult的片段也会收到一个onDestroy。在我选择一张图片之后,我会得到一个新的activity onCreate,然后我会在原来被销毁的片段上得到一个public void onActivityResult。
我的问题是,由于这可能是一个(虽然罕见的)情况,如何恢复整个片段栈和传递给它们的对象,并防止原始片段泄漏?
Intent photoPickerIntent = new Intent(Intent.ACTION_PICK);
photoPickerIntent.setType("image/*");
startActivityForResult(photoPickerIntent, PHOTO_SELECT_REQUEST_CODE);
break;
被从我的片段调用,然后我的活动接收到onPause、onStop和onDestroy,因此调用了startActivityForResult的片段也会收到一个onDestroy。在我选择一张图片之后,我会得到一个新的activity onCreate,然后我会在原来被销毁的片段上得到一个public void onActivityResult。
我的问题是,由于这可能是一个(虽然罕见的)情况,如何恢复整个片段栈和传递给它们的对象,并防止原始片段泄漏?