2016-04-20 6 views
0

以下は、非静的メソッドから呼び出されているソースコードの一部です。私はエラーを取得していますAndroid:非静的メソッドでgetContext()を設定できません - APIレベル23が必要

"コールは、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プロジェクトテンプレートを選択しました。そのデフォルトコードに1つのクラスを追加しました。

+0

代わりに 'getActivity'を呼び出すとどうなりますか? –

答えて

2

import android.support.app.Fragmentの代わりにimport android.support.v4.app.Fragmentをインポートする必要があります。

0

解決する1つの方法は、アクティビティonCreateメソッド内で "this"(アクティビティ)を(Context)にキャストすることでした。