内部片段FragmentPagerAdapter(FragmentPagerAdapter insi

2019-07-31 02:56发布

我有一点的实现基于多身边一个ViewPagers设计的麻烦。

在高级别,我那里有,因为它是内容的一个FrameLayout里FragmentActivity。 我有我想要显示3个不同的片段。 所有3全屏,只有1将在同一时间内使用。

片段1是具有一些TextViews和ImageViews一个基本片段。 片段2具有ViewPager和饲料它几个简单的片段一FragmentPagerAdapter。 片段3具有ViewPager和馈送它几个简单的片段(是不同于片段2)FragmentPagerAdapter

在我FragmentActivity的onCreate(),我得到的FragmentManager并开始交易,以取代无论是在我的FrameLayout与片段2的新实例。

此时一切工作正常。 我在片段2 ViewPager完美的作品。

现在我有一个与碎片3.这也工作正常,一个新的实例替换片段2在我的FrameLayout菜单选项。

当我试图把片段2回的FrameLayout替换另一个交易,就会出现问题。 我看到我的PagerIndicater在顶部,但我的页面是空白的。

我试过只是创造我的片段2的一个新的实例,并调用替换事务。 我也试过在我的片段设置一个标签,当我调用替换之前我的替换,而不是创建一个新的实例加入findFragmentByTag检查。 这两个给我的空白页相同的结果后,我的第二个替代。

仅供参考我的第一个设计是简单地用ViewPager和ViewIndicater一个FragmentActivity。 我只能从我上面的描述和一个菜单选项,在它们之间切换了片段2和片段3。 要切换我不得不定义2个不同FragmentPagerAdapters和刚才打电话ViewPager.setAdapter设置所选FragmentPagerAdapter。 这是可以正常使用,但现在我需要的是不使用ViewPager在所有新的顶级片段。 这就是为什么我决定将我的ViewPagers到各自的片段。 我的想法是,我只想换在我的片段到FrameLayout里。

我没有我在我的面前代码所以我现在不能发表任何,但我会添加一些代码到明天我的问题,以帮助促进答案。

Answer 1:

这个问题的一个可能重复导航回到FragmentPagerAdapter - >片段是空的 。

如果您的应用程序可以处理它(API 17),使用getChildFragmentManager() 。 这个问题似乎使用片段时,托管您ViewPager并使用FragmentPagerAdapter发生。 更改为FragmentStatePagerAdapter似乎解决问题为好,但我仍然认为使用getChildFragmentManager()是应该做的最聪明的事。



Answer 2:

brockoli你不能用“好办法”。 但对于我它的工作。

您可以在视图布局,在那里你绑定片段使用。 首先 - 与片段片段。 二 - 其他碎片。

在替换片段并不能取代片段,但唯一不变的知名度第一的布局走了,并添加新片段到第二个布局。 在回来,请从第二布局片段,并设置能见度第一布局可见。



文章来源: FragmentPagerAdapter inside Fragment