【问题标题】:No activity Exception when using viewpager and fragments inside fragments在片段内使用 viewpager 和片段时没有活动异常
【发布时间】:2013-02-05 10:19:47
【问题描述】:

让我描述一下我的项目。

我使用来自 jfeinstein10 的带有 SlidingMeno 的 actionbarsherlock。在我的主要活动中,我有这个滑动菜单,其中包含几个在容器中打开片段的菜单项。 (与滑动菜单示例中的基本片段示例相同)在其中一个片段中,我有带有 viewpageindicator 的 view-pager。 View-pager 与我的片段绑定到 FragmentStatePagerAdapter。所以我在片段中有片段。当在片段中使用片段时,我使用 getChildFragmentManager() 就像文档中建议的那样。

当我第一次选择带有视图分页器的片段的菜单项时,一切都会正常工作。但是当我选择其他一些菜单项然后返回到这个视图寻呼机片段时,我得到了这个异常。 所有其他片段都没有这个问题,并且在堆栈跟踪中没有对我的代码的引用。

https://gist.github.com/4502038

有没有人遇到过类似的问题或者知道发生了什么。

编辑:如果我使用 getFragmentManager() 而不是 getChildFragmentManager() 即使你在子片段中。我没有遇到异常,但是在我第二次选择 viewpager 片段后,没有重新创建 viewpager 中的片段之一。

我在github上创建了一个项目,大家可以看看。 https://github.com/pzagor2/TestErrorApp

【问题讨论】:

  • 有同样的情况。最终创建了这样的寻呼机适配器:pagerAdapter = new PagerAdapter(hostFragment.getChildFragmentManager());

标签: android android-viewpager viewpagerindicator


【解决方案1】:

看到这个:https://code.google.com/p/android/issues/detail?id=42601 错误。

取消注释 addToBackStack https://github.com/pzagor2/TestErrorApp/blob/master/MainActivity/src/com/example/myapp/MainActivity.java#L69 ,为我的项目设置工作。

您可以在第一个 URL 的 Google 错误报告中看到该错误。

希望这会有所帮助。

【讨论】:

  • 我在您发布的链接的帮助下修复了 github 上的代码。现在它工作正常。但是如果我发现一些奇怪的行为会报告。
【解决方案2】:

我刚刚查看了 GitHub 项目,看起来您还没有提交代码。但我假设您的 ViewPager 本身位于片段中,并且 ViewPager 正在托管子片段。如果是这样,那么我建议您进行测试以确保您的 FragmentStatePagerAdapter 是使用 getChildFragmentManager() 的结果构造的。

【讨论】:

  • 我修复了指向我在 Git 上的测试项目的链接。我检查并在构造我的 FragmentStatePagerAdapter 时使用 getChildFragmentManager()。
猜你喜欢
  • 2017-09-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多