我正在尝试使用FragmentPagerAdapter实现ViewPager,其中ViewPager本身位于片段内。我在文档中读到,应该可以使用最新的支持库和嵌套片段。原则上我希望PagerAdapter使用根片段的子片段管理器。
所以,我的项目使用ActionBarSherlock和SherlockFragments。由于与ActionBarSherlock捆绑在一起的支持lib根本没有包含方法getChildFragmentManager(),我下载了最新的支持库v4并将其放在ActionBarSherlock和我的项目的libs文件夹中。通过此更改,项目编译正常,但在第一次运行时,它会以关于getChildFragmentManager()的NoSuchMethodError退出。我在这里做错了什么?
(P.s。我正在使用Android 2.2测试它,这是我的目标最低平台。)
谢谢!
已解决:我用我的项目和所有引用的库替换了最新版本的支持库。然后我清理了我的项目,但是我忘了清理并重建引用的库...这导致了这种奇特的行为。
答案 0 :(得分:4)
确保所引用的库均未使用Support Library v13。如果只这样做,v13库将在引用使用v13的项目的所有项目中使用,这似乎会干扰getChildFragmentManager()方法。有关详细信息,请参阅THIS QUESTION,并在执行项目时注意控制台打印 - >清理整个工作区(假设您使用的是Eclipse)。
我遇到了和你一样的问题,但是一旦我从引用的五个库之一中删除了v13库,它就得到了解决。
答案 1 :(得分:0)
解决这个问题的唯一方法就是用最后一个android-support-v4库更新ActionBarSherlock,它是19.1。您可以从Android Manager上传它。之后,使用此更改重新编译apk,您将获得该方法。
答案 2 :(得分:0)
解决:我用我的项目和所有引用的库替换了最新版本的支持库。然后我清理了我的项目,但是我忘了清理并重建引用的库...这导致了这种奇特的行为。