2010/11/28(日)14:23
【Java】static参照エラー
Javaでプログラミングしていたら、以下のエラーが発生。。。
型 ContextWrapper の非 static メソッド getSharedPreferences(String, int) を
static 参照することはできません
ルール上、static指定メソッドの中からstatic指定をしていない
メソッドを呼び出すことはNGのようだ。
static指定無しのメソッドを呼び出すようにしていないと
オブジェクトを生成していない状態で呼び出される可能性が
あることが問題のようだ。
【解決方法】
static指定メソッドの中で非staticメソッドのクラスをオブジェクト
生成してあげれば問題は解消される。
コードでは以下のような感じです。
public static String Sample_method(Context context) {
ContextWrapper cw = new ContextWrapper(context);
pref = cw.getSharedPreferences(PREF_KEY, Activity.MODE_PRIVATE);
・・・
}
これならわかるトレーニングドリルJava