[英]Hide/show ViewPager in Android
我有这个应用程序结构:
Fragment
容器。Fragment
:一个包含三页的ViewPager
。Fragment
:一个列表我在 MainActivity 的OnCreate()
上插入Fragment
并使用 show 和 hide (使用FragmentTransaction
)更改它们的可见性。
当我启动应用程序时,第一个Fragment
毫无问题地出现在屏幕上,当更改为第二个Fragment
也像魅力一样工作,但是当我回到第一个Fragment
,应用程序在ViewPager
中没有显示任何ViewPager
。
我必须在ViewPager
更改任何特定选项来解决此问题吗?
问题似乎是由于 android 不允许嵌套片段。 就我而言,我可以使用简单的视图而不是 ViewPager 中的片段来管理这种情况。
我使用ViewStub来显示/隐藏 ViewPager。
基本思想是您在布局文件中创建了 ViewStub,并在必要时膨胀/setVisible。
唯一的技巧是,我必须将Adatper 设置为null 否则它会在关闭和在屏幕上重新创建视图时崩溃。
@Override
public void onDestroyView() {
super.onDestroyView();
viewPager.setAdatper(null);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.