androidSu+中的getSupportFragmentManager()与getFragmentManager()

时间:2012-09-12 02:16:03

标签: android actionbarsherlock

在android.support.v4.app.FragmentManager的文档中:

“框架的FragmentManager的静态库支持版本。用于编写在Android 3.0之前的平台上运行的应用程序。在 Android 3.0或更高版本上运行时,仍然使用此实现;它不会尝试切换到框架的实现。有关类概述,请参阅框架SDK文档。“

那么,我是否需要在运行时进行检查并使用相应的FragmentManager来运行应用程序的Android版本?即如果在android 3.0+而不是getSupportFragmentManager()

上调用getFragmentManager()

3 个答案:

答案 0 :(得分:12)

只要您导入支持库,在Android 3.0+上使用getSupportFragmentManager()并没有错。如果您想将getFragmentManager()用于SDK 11+,那就去吧;请记住,您可能会if/else使用版本检查进行大量代码。

答案 1 :(得分:6)

如果您使用API​​> = 14,则使用getFragmentManager()。如果您想要与API 14以下的设备兼容,那么您可以使用getSupportFragmentManager()。因此,getSupportFragmentManager()用于向较旧的平台提供较新的功能。

答案 2 :(得分:0)

如果您在项目或应用程序中使用支持包,则必须使用getSupportFragmentManager,因为这将返回fragmentManager以与与此活动关联的片段进行交互。另一方面,如果不是,则可以使用getFragmentManager。它仅取决于您在应用中使用的内容。