在两个ViewPager内容之间切换

时间:2012-10-08 21:41:02

标签: android android-fragments android-actionbar android-viewpager android-support-library

在我的应用中,我在ActionBar中启用了下拉列表。用户有两个要素可供选择。根据选择,我希望ViewPager显示来自不同FragmentPagerAdapters的不同内容。用户必须能够一直切换。

我试图在听众中设置两个不同的PagerAdapter而没有运气。寻呼机每次都会重新加载以前的片段。 herehere描述了类似的问题。但是在我的方法中,我不想改变一个适配器的内容。我真的只想在两个独立的适配器之间切换。

这一切似乎让我很困惑。是否有任何已知的解决方法或是否有替代解决方案?

2 个答案:

答案 0 :(得分:1)

如果您的应用可以使用,我建议您使用FragmentStatePagerAdapter代替FragmentPagerAdapter。每个适配器应该能够存储单独的片段列表,并且在切换到另一个适配器时应该保留片段的保存状态。

答案 1 :(得分:0)

  

我试图在听众中设置两个不同的PagerAdapter而没有运气。寻呼机每次都会重新加载以前的片段。

我假设您使用的是FragmentPagerAdapterFragmentStatePagerAdapter。这两个都按照FragmentManager中的标记名称存储它们的片段,因此这种切换方法不起作用。

  

是否有任何已知的解决方法或是否有替代方案解决我的问题?

一种方法是fork FragmentPagerAdapterFragmentStatePagerAdapter,替换makeFragmentName()方法以使用替代标记语法,并将修改后的适配器类用于您的两个。