1

我读到 getSupportFragmentManager(和其他 getSupport 函数)是为了 Honeycomb(3.0)下的 Android 版本而创建的。API 11+ 的此类等效函数是 getFragmentManager(以及其他没有 getSupport 的函数)。

我用 minSdkVersion="14" 和 targetSdkVersion="15" 开始了一个新项目。在文件夹库中,我可以看到不应该存在的 android-support-v4.jar,因为最低 SDK 版本是 14。此外,我尝试使用 getFragmentManager 但它根本无法识别(我无法编译)。所以,我别无选择,只能使用 getSupportManagerFragment ...

这是正常的吗?

4

2 回答 2

1

如您所述,getFragmentManager() 在 API 级别 11+ 上可用。如果您不需要支持库中的类,则可以从 libs 文件夹中删除 support-v4.jar,并使您的活动扩展 Activity 而不是 FragmentActivity。

如果您不使用支持库,则您的导入不应包含“support.v4.app”。

感谢@Espiandev 的提示,如果您在 Eclipse 中选择“Tab+swipe 应用程序”模板,那么它将自动包含支持库,因为该模板使用仅存在于支持库中的 ViewPager 类。

于 2012-08-05T18:42:15.737 回答
0

Eclipse 可能会在您创建项目时自动将支持库添加到您的构建路径中,这就是它无法识别getFragmentManager. 尽管没有必要,但在minSdkVersion大于或等于11. 事实上,您甚至可以考虑这样做,因为这将使您以后更容易支持旧设备。

于 2012-08-05T18:50:57.457 回答