1

我有这个应用程序结构:

  1. 带有全局菜单和Fragment容器的 MainActivity。
  2. 第一Fragment:一个ViewPager三页。
  3. Fragment:清单

我在 MainActivity 中插入FragmentsOnCreate()并使用 show 和 hide 更改它们的可见性(使用FragmentTransaction)。

当我启动应用程序时,第一个Fragment出现在屏幕上没有问题,当更改为第二个时Fragment也可以像魅力一样工作,但是当我回到第一个时Fragment,应用程序在ViewPager.

有没有我必须更改的特定选项ViewPager来解决这个问题?

4

2 回答 2

1

问题似乎是由于android不允许嵌套片段。在我的情况下,我可以使用简单的视图而不是 ViewPager 中的片段来管理这种情况。

于 2012-11-07T13:56:49.730 回答
1

我使用ViewStub来显示/隐藏 ViewPager。

基本思想是您在布局文件中创建 ViewStub,并在必要时膨胀/setVisible。

唯一的窍门是,我必须将Adatper 设置为null,否则它会在关闭和打开屏幕时重新创建视图时崩溃。

@Override
public void onDestroyView() {
    super.onDestroyView();

    viewPager.setAdatper(null);
}
于 2014-08-08T06:02:51.777 回答