android – 使用ViewPager时如何处理savedInstanceState?

前端之家收集整理的这篇文章主要介绍了android – 使用ViewPager时如何处理savedInstanceState?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在应用程序中使用 android.support.v4.view.ViewPager.

用户旋转屏幕时,活动被破坏并重新创建. ViewPager中当前处于活动状态的片段(通常是屏幕上的一个,左侧的一个,右侧的片段)都存储在savedInstanceState中.

创建一个新的活动,使用片段状态调用FragmentActivity.onCreate(savedInstanceState),并使用该包重新创建这三个片段.然而,我的onCreate也设置了ViewPager和ViewPager适配器,它们重新创建自己的片段,从而导致这三个片段中的每一个片断.

如何将自动重新创建的片段与ViewPager的适配器相关联,而不是从头开始重新创建?

解决方法

没关系.看来我正在使用FragmentPagerAdapter.

使用FragmentPagerAdapter的正确方法是在getItem()中实例化新的片段.我正在实例化适配器的构造函数中的所有片段,将它们存储在数组中,然后在数组中查找它们,并在getItem()中返回相应的片段.

如果您从getItem()实例化片段,则FragmentPagerAdapter.instantiateItem()将自动使用循环片段而不是实例化一个新片段.

原文链接:https://www.f2er.com/android/311811.html

猜你在找的Android相关文章