我有一个Android应用程序,我想在运行时动态地添加和删除片段到ViewPager,并在配置更改时保留片段。
到目前为止,我已经实现了一个FragmentStatePagerAdapter,将我的片段保存在一个方法add
,remove
和replace
的列表中,以操纵我的片段。基本上,他们所做的只是在列表中插入或删除片段,然后调用notifyDatasetChanged()
。我在活动onCreate()
方法中插入了凝视片段作为新片段。
我知道想要在配置更改期间保留我的片段。目前,当我更改我的屏幕方向时,我的所有当前片段都被删除,然后我回到起始片段,因为重新创建了Activity,并且在onCreate()
调用期间重新实现了Fragment和Adapater。我试图在活动Adapter.saveInstance()
期间使用onPause()
保存适配器的状态,但是当我尝试通过Adapter.restoreInstance()
恢复它时,我得到一个空适配器。
任何人都可以给我一个提示,告诉我在Android中保存状态FragmentStatePagerAdapter
的正确方法是什么?
答案 0 :(得分:1)
要保存当前片段的状态,我认为首先您必须检查容器活动中当前添加/可见的片段。获得该片段后,只需使用容器活动的 onSaveInstanceState()方法来保存当前片段的实例。
有关代码段,请点击this链接。