20

我正在尝试使用 FragmentPagerAdapter 实现 ViewPager,其中 ViewPager 本身位于片段内。我在文档中读到应该可以使用最新的支持库和使用嵌套片段。主要我希望 PagerAdapter 使用根片段的子片段管理器。

所以,我的项目使用 ActionBarSherlock 和 SherlockFragments。由于与 ActionBarSherlock 捆绑的支持库根本不包含 getChildFragmentManager() 方法,因此我下载了最新的支持库 v4 并将其放在 ActionBarSherlock 和我的项目的 libs 文件夹中。通过此更改,项目可以正常编译,但在第一次运行时,它会以关于 getChildFragmentManager() 的 NoSuchMethodError 退出。我在这里做错了什么?

(Ps 我正在使用我的目标最低平台 Android 2.2 对其进行测试。)

谢谢!

已解决:我用最新版本替换了我的项目和所有引用库中的支持库。然后我清理了我的项目,但是我也忘了清理和重建引用的库......这导致了这种特殊的行为。

4

3 回答 3

4

确保您引用的库都没有使用 Support Library v13。如果您这样做,将在所有引用使用 v13 的项目中使用 v13 库,这似乎会干扰 getChildFragmentManager() 方法。有关更多信息,请参阅此问题,并在对整个工作区执行 Project->Clean 时注意控制台打印(假设您使用的是 Eclipse)。

我遇到了和你一样的问题,但是一旦我从引用的五个库之一中删除了 v13 库,它就得到了解决。

于 2013-01-18T08:43:04.320 回答
0

解决此问题的唯一方法是使用最后一个 android-support-v4 库(即 19.1)更新 ActionBarSherlock。您可以从 Android Manager 上传它。之后使用此更改重新编译 apk,您将获得该方法。

于 2014-04-24T14:52:46.007 回答
0

已解决:我用最新版本替换了我的项目和所有引用库中的支持库。然后我清理了我的项目,但是我也忘了清理和重建引用的库......这导致了这种特殊的行为。

于 2017-09-25T23:43:13.170 回答