下面的api 11级设备的FragmentActivity类

时间:2016-01-01 07:44:12

标签: java android android-fragmentactivity android-api-levels

我是Android开发的新手。

我创建了类并从FragmentActivity扩展了该类。

当我使用此功能时getFragmentManager()

它不允许我这样做

我也无法使用getSupportFragmentManager因为它也给了我无法从支持api转换为android.app的错误

但后来我在我从FragmentActivity类扩展的抽象类中使用了TargetApi(11)属性。

现在错误消失了。

但我想知道,targetApi(11)是否限制我的应用在api 11以下的adroid设备上运行我的应用程序?

或者api 11以下不允许碎片或因此不支持FragmentActivity类?

如果我提到的最后一件事情是真的,我应该使用新的活动代替片段吗?

2 个答案:

答案 0 :(得分:2)

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文件并重新编译项目。

答案 1 :(得分:1)

不要导入android.app.FragmentActivity。 它需要api比android 3.0更大。 你可以导入android.support.v4.app,FragmentActivity !! 而你的问题就解决了!