bro*_*oli 9 android android-fragments android-viewpager fragmentpageradapter android-nested-fragment
我在实现基于多个ViewPagers的设计时遇到了一些麻烦.
在高级别,我有一个FragmentActivity只有一个FrameLayout作为它的内容.我想要显示3个不同的碎片.全部3个全屏,一次只使用1个.
片段1是一个带有一些TextView和ImageViews的基本片段.片段2有一个ViewPager和一个FragmentPagerAdapter,可以为它提供几个简单的片段.片段3有一个ViewPager和一个FragmentPagerAdapter,可以为它提供几个简单的片段(与片段2不同)
在我的FragmentActivity onCreate()中,我获得了FragmentManager并开始一个事务,用一个新的Fragment 2实例替换我的FrameLayout中的任何东西.
在这一点上,一切都按预期工作.Fragment 2中的我的ViewPager工作得很好.
现在我有一个菜单选项,用我的FrameLayout中的Fragment 2替换Fragment 3的新实例.这也可以正常工作.
当我尝试使用另一个替换事务将Fragment 2放回FrameLayout时出现问题.我看到我的PagerIndicater位于顶部,但我的页面是空白的.
我试过创建一个我的Fragment 2的新实例并调用一个替换事务.当我调用replace并在替换之前添加findFragmentByTag检查而不是创建新实例时,我也尝试在我的Fragments上设置标记.在第二次更换后,两者都给了我相同的空白页结果.
供参考我的第一个设计只是一个带有ViewPager和ViewIndicater的FragmentActivity.我上面的描述中只有Fragment 2和Fragment 3以及在它们之间切换的菜单选项.要切换我有2个不同的FragmentPagerAdapters定义,只需调用ViewPager.setAdapter来设置选定的FragmentPagerAdapter.这是完美的,但现在我需要一个新的顶级片段,根本不使用ViewPager.这就是我决定将ViewPagers移到他们自己的片段中的原因.我的想法是,我只是将我的片段交换到FrameLayout.
我现在没有我的代码在我面前所以我不能发布任何代码,但我明天会在我的问题中添加一些代码来帮助提供答案.
bli*_*han 14
这个问题可能是导航回FragmentPagerAdapter的重复- >片段是空的.
如果您的应用可以处理它(API 17),请使用getChildFragmentManager().使用Fragment托管ViewPager并使用FragmentPagerAdapter时,似乎会出现此问题.改为FragmentStatePagerAdapter似乎也解决了这个问题,但我仍然认为使用getChildFragmentManager()是最聪明的事情.
西兰花你可以使用不是“好方法”。但对我来说它有效。
您可以在视图 2 布局中使用,在其中绑定片段。首先 - 用于带有片段的片段。第二 - 用于其他片段。
在用片段替换片段时,不会替换,而只会将可见性第一个布局更改为消失,并将新片段添加到第二个布局。在背面,从第二个布局中删除片段并将第一个布局的可见性设置为可见。
| 归档时间: |
|
| 查看次数: |
6863 次 |
| 最近记录: |