我是 Android 开发新手。
我创建了类并从 FragmentActivity
扩展该类。
当我使用这个函数时getFragmentManager()
它不允许我这样做
我也无法使用 getSupportFragmentManager
因为它也给我错误,无法从支持 api 转换为 android.app
但是后来我在从 FragmentActivity
类扩展的抽象类上使用了 TargetApi(11) 属性。
现在错误消失了。
但我想知道,targetApi(11) 是否会限制我的应用程序在低于 api 11 的 android 设备上运行我的应用程序?
或者低于 api 11 不允许 fragment ,因此不支持 FragmentActivity 类?
如果我提到的最后一件事是真的,我应该使用新的 Activity 而不是 fragment 吗?
最佳答案
TargetApi(11) 仅抑制 lint 警告,您的应用程序仍然可以在 11 以下运行。但是,如果 API 在较低的 Android 平台中不可用,则可能会崩溃。
解决问题的正确方法是使用 Android 支持库,它包含 android.support.v4.app 包中的 FragmentActivity。
您需要编辑 gradle 文件以包含 android 支持库
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
compile 'com.android.support:support-v4:22.2.0'
}
然后同步 gradle 文件并重新编译您的项目。
关于java - 适用于 API 级别 11 以下设备的 FragmentActivity 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34554459/