3

下面是一些从非静态方法调用的源代码。我收到错误

“调用需要 API 级别 23(当前最低为 15);android.app.Fragment#getContext”

android.content.Context context = (Context) getContext();

如何获取上下文对象?

在对象资源管理器 > Gradle Scripts > build.gradle 下,我看到了这个。对我来说看起来像第 23 版。我在寻找正确的位置吗?

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.3"

    defaultConfig {
        applicationId "com.example.test.test"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.2.1'
    compile 'com.android.support:support-v4:23.2.1'
}

看起来我有 Android Studio 1.5.1。我刚刚在 Android Studio 中选择了 SettingsActivity 项目模板。并向该默认代码添加了一个类。

4

3 回答 3

9

您需要导入 import android.support.v4.app.Fragment 而不是 import android.support.app.Fragment;

于 2016-09-15T06:05:36.317 回答
5

通过 getActivity()而不是getContext()作为上下文。

于 2018-05-18T04:35:00.030 回答
0

一种解决方法是将“this”(活动)转换为 Activity onCreate 方法内的(上下文)。

于 2016-11-16T03:55:18.990 回答