2016-04-20 2 views
0

Unten, ist einige Quelltext, der von einer nicht-statischen Methode aufgerufen wird. Ich bin den Fehler immerAndroid: Kann nicht getContext() in nicht-statischen Methode setzen - benötigt API Level 23

"Ruf erfordert API-Ebene 23 (Strom min 15); android.app.Fragment # getContext"

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

Wie kann ich das Kontextobjekt erhalten ?

Unter dem Objekt Explorer> Gradle Skripte> build.gradle, sehe ich das. Sieht für mich wie Version 23 aus. Sehe ich an der richtigen Stelle?

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' 
} 

Sieht aus wie ich 1.5.1 Android Studio haben. Ich habe gerade die Projektvorlage SettingsActivity in Android Studio ausgewählt. Und fügte dem Standardcode eine Klasse hinzu.

+0

Was passiert, wenn Sie stattdessen 'getActivity' aufrufen? –

Antwort

2

Sie müssen importieren android.support.v4.app.Fragment statt importieren android.support.app.Fragment importieren;

0

Eine Lösung bestand darin, "this" (Aktivität) innerhalb der Activity onCreate-Methode auf (Context) zu setzen.

Verwandte Themen