如何使用ViewPager处理savedInstanceState?

我在应用程序中使用android.support.v4.view.ViewPager

当用户旋转屏幕时,活动被破坏并重新创build。 ViewPager中当前处于活动状态的ViewPager (通常是屏幕上的一个,左边的那个和右边的那个)都被存储到savedInstanceState

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

如何将自动重新创build的片段与ViewPager的适配器关联起来,而不是从头开始重新创build它们?

Solutions Collecting From Web of "如何使用ViewPager处理savedInstanceState?"

没关系。 看来我正在使用FragmentPagerAdapter不正确。

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

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