首页 > 解决方案 > onDestroy后的android Fragment重新创建 - FragmentManagerState ClassNotFound

问题描述

我正在使用带有 3 个片段的 viewpager 进行活动。

在开始选择图像意图后,onactivityResult 被调用,但
启动器活动被销毁并再次创建。

(我打开了不保留任何活动,开发者设置。)

现在的问题是在创建活动之后也再次创建片段(通过日志观察)

重新创建活动后,这将出现在日志中。

 E/Parcel: Class not found when unmarshalling: androidx.fragment.app.FragmentManagerState
    java.lang.ClassNotFoundException: androidx.fragment.app.FragmentManagerState

onActivity 结果通过Activity>getsViewpager>getsAdapter>getsFragment方法以编程方式转发到片段。

但现在getContext()在片段中返回 null。(这意味着新片段被创建但onactivityResult传递给旧片段?)我期望旧片段应该重新附加或onActivityResult传递给新片段。

我如何区分新/旧活动/片段?如何在重新创建活动后简单地恢复片段?解组错误时导致 Class not found 的问题是什么。

标签: javaandroidandroid-fragmentsandroid-viewpagerandroid-ondestroy

解决方案


推荐阅读