java - 适用于 API 级别 11 以下设备的 FragmentActivity 类

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

我是 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/

相关文章:

java - AbstractTableModel 和实际 SQL 语句之间的正确关系是什么?

android - 使用的特定自定义字体在 Android 应用程序中不起作用

android - 可绘制在某些设备上模糊

android - fragment 之间如何通信?

java - 线程 "main"java.lang.UnsupportedClassVersionError : danbikel/parser/Trainer (Unsupported major. 次要版本 50.0 中的异常)

Java:使用 Stream API 从原始数组创建列表

java - 更改 REST API 响应中的字段名称

Android在ImageView中绘制边框

android - 在 fragment 中显示图像

java - 在 fragment 之间滑动