我有这个应用程序结构:
Fragment
容器的MainActivity。Fragment
:ViewPager
,共有三页。Fragment
:列表我将Fragment
插入MainActivity中的OnCreate()
,并使用show和hide更改其可见性(使用FragmentTransaction
)。
当我启动应用时,第一个Fragment
出现在屏幕上没有问题,当更改为第二个Fragment
也像魅力一样,但当我回到第一个Fragment
时该应用不会在ViewPager
内显示任何内容。
我是否需要在ViewPager
中更改以解决此问题?
答案 0 :(得分:1)
问题似乎是因为android不允许嵌套片段。在我的情况下,我可以使用简单的视图而不是ViewPager中的片段来管理情况。
答案 1 :(得分:1)
我使用ViewStub来显示/隐藏ViewPager。
基本思路是你在布局文件中创建了ViewStub,并在必要时使用inflate / setVisible。
唯一的技巧是,我不得不将setAdatper设置为null,否则它会在关闭和屏幕上重新创建时崩溃。
@Override
public void onDestroyView() {
super.onDestroyView();
viewPager.setAdatper(null);
}