2012-03-10 13 views
2

私はダイアログから設定を使用しようとしていて、難しかったです。私のアプリケーションの残りの部分はgetPreferences()ダイアログを使用しているだけで、全く問題はないようです。しかし、DialogはgetPreferences()を呼び出すことができず、なんらかの理由で私は基本アクティビティにアクセスできません。しかし、私は解決策、from the SDK documentationに来ましたが、私はそれを持っているために1つの簡単な答えが必要です。getPreferences()getSharedPreferences()で使用されるクラス名への参照

SDKは、 "このアクティビティのクラス名をプリファレンス名として渡して、基本的にgetSharedPreferences(String, int)メソッドを呼び出します。"私は、アクティビティのクラス名を取得することができます。コンテキストにアクセスできます。コンテキストにはgetApplicationInfo()が含まれています。ここにはさまざまな名前があります。私の質問は、getApplicationInfo()から来る名前の1つで、getPreferences()がクラス名としてgetSharedPreferences()に渡す値と同じですか?私がやってしまったことは軒並みアプリケーション名としてこれを使用していた

答えて

0

さらに良いことに、これは、今、私はそれらを使用する方法ですが、これを使用することです:

final SharedPreferences prefs = android.preference.PreferenceManager.getDefaultSharedPreferences(mContext); 

これは複雑な何かをする必要がなく、右の好みを取得します。

1

getBaseContext().getApplicationInfo().packageName 

コンテキストは、ほとんど一般利用可能であり、この名前は、プログラム内のすべてのクラスの一致している必要があります。

関連する問題