保存动态ViewPager的状态

时间:2015-09-15 07:04:00

标签: android android-fragments savestate

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

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

我知道想要在配置更改期间保留我的片段。目前,当我更改我的屏幕方向时,我的所有当前片段都被删除,然后我回到起始片段,因为重新创建了Activity,并且在onCreate()调用期间重新实现了Fragment和Adapater。我试图在活动Adapter.saveInstance()期间使用onPause()保存适配器的状态,但是当我尝试通过Adapter.restoreInstance()恢复它时,我得到一个空适配器。

任何人都可以给我一个提示,告诉我在Android中保存状态FragmentStatePagerAdapter的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

要保存当前片段的状态,我认为首先您必须检查容器活动中当前添加/可见的片段。获得该片段后,只需使用容器活动的 onSaveInstanceState()方法来保存当前片段的实例。

有关代码段,请点击this链接。