保存动态 ViewPager 的状态

Save state of dynamic ViewPager

我有一个 android 应用程序,我想在其中在运行时向 ViewPager 动态添加和删除片段,并在配置更改时保留片段。

到目前为止,我已经实现了一个 FragmentStatePagerAdapter,将我的 Fragments 保存在一个列表中,使用方法 addremovereplace 来操作我的 Fragments。基本上,他们所做的就是在列表中插入或删除一个 Fragment,然后调用 notifyDatasetChanged()。我在 Activitys onCreate() 方法中将凝视片段作为新片段插入。

我知道想在配置更改期间保留我的片段。目前,当我改变我的屏幕方向时,我当前的所有片段都被删除,我回到起始片段,自然是因为 Activity 被重新创建,片段和适配器在 [=14= 期间被重新实例化] 称呼。我试图在 Activitys onPause() 期间使用 Adapter.saveInstance() 保存适配器的状态,但是当我尝试通过 Adapter.restoreInstance() 恢复它时,我得到一个空适配器.

谁能告诉我 Android 中保存状态 a FragmentStatePagerAdapter 的正确方法是什么?

要保存当前片段的状态,我想首先你必须检查容器activity中当前added/visible哪个片段].获得该片段后,只需使用容器 activity 的 onSaveInstanceState() 方法来保存当前片段的实例。

代码片段请遵循 link.