在android.support.v4.app.FragmentManager的文档:
。框架的FragmentManager的“静态库支持版本用来编写到Android 3.0的前平台上运行的应用程序在Android上3.0或以上运行,这个实现仍然使用;它不会尝试切换到框架的实现见框架SDK文档类的概述“。
所以,我需要在运行时做了检查,使用适当的FragmentManager的应用程序正在运行的Android版本? 即调用getFragmentManager()如果在Android 3.0以上版本,而不是getSupportFragmentManager()
没有什么错误使用getSupportFragmentManager()
在Android 3.0以上版本,只要有您的支持库中导入。 如果你想使用getFragmentManager()
的软件开发工具包11+,去了; 只要记住,你可能if/else
荷兰国际集团大量的代码版本检查。
如果您使用的API> = 14,然后用getFragmentManager()。 如果你想用低于API 14设备的兼容性,那么你可以使用getSupportFragmentManager()。 因此,getSupportFragmentManager()是用来提供新的功能,以旧平台。
如果您使用的支持包在你的项目或应用程序,那么你必须使用getSupportFragmentManager,因为这是你将如何返回fragmentManager与此次活动的相关片段进行交互。 在另一方面,如果你没有,那么你可以使用getFragmentManager。 这只是取决于你使用你的应用程序是什么。