保存动态 ViewPager 的状态
Save state of dynamic ViewPager
我有一个 android 应用程序,我想在其中在运行时向 ViewPager 动态添加和删除片段,并在配置更改时保留片段。
到目前为止,我已经实现了一个 FragmentStatePagerAdapter,将我的 Fragments 保存在一个列表中,使用方法 add
、remove
和 replace
来操作我的 Fragments。基本上,他们所做的就是在列表中插入或删除一个 Fragment,然后调用 notifyDatasetChanged()
。我在 Activitys onCreate()
方法中将凝视片段作为新片段插入。
我知道想在配置更改期间保留我的片段。目前,当我改变我的屏幕方向时,我当前的所有片段都被删除,我回到起始片段,自然是因为 Activity 被重新创建,片段和适配器在 [=14= 期间被重新实例化] 称呼。我试图在 Activitys onPause()
期间使用 Adapter.saveInstance()
保存适配器的状态,但是当我尝试通过 Adapter.restoreInstance()
恢复它时,我得到一个空适配器.
谁能告诉我 Android 中保存状态 a FragmentStatePagerAdapter
的正确方法是什么?
要保存当前片段的状态,我想首先你必须检查容器activity中当前added/visible哪个片段].获得该片段后,只需使用容器 activity 的 onSaveInstanceState() 方法来保存当前片段的实例。
代码片段请遵循 link.
我有一个 android 应用程序,我想在其中在运行时向 ViewPager 动态添加和删除片段,并在配置更改时保留片段。
到目前为止,我已经实现了一个 FragmentStatePagerAdapter,将我的 Fragments 保存在一个列表中,使用方法 add
、remove
和 replace
来操作我的 Fragments。基本上,他们所做的就是在列表中插入或删除一个 Fragment,然后调用 notifyDatasetChanged()
。我在 Activitys onCreate()
方法中将凝视片段作为新片段插入。
我知道想在配置更改期间保留我的片段。目前,当我改变我的屏幕方向时,我当前的所有片段都被删除,我回到起始片段,自然是因为 Activity 被重新创建,片段和适配器在 [=14= 期间被重新实例化] 称呼。我试图在 Activitys onPause()
期间使用 Adapter.saveInstance()
保存适配器的状态,但是当我尝试通过 Adapter.restoreInstance()
恢复它时,我得到一个空适配器.
谁能告诉我 Android 中保存状态 a FragmentStatePagerAdapter
的正确方法是什么?
要保存当前片段的状态,我想首先你必须检查容器activity中当前added/visible哪个片段].获得该片段后,只需使用容器 activity 的 onSaveInstanceState() 方法来保存当前片段的实例。
代码片段请遵循