我试图在与PreferenceActivity无关的活动之外使用此代码。我正在尝试这样做,以便我可以访问我的偏好的价值。
Preference prefNotify = findPreference(ACCUWX.Preferences.PREF_TEMPERATURE_NOTIFY);
String currentPrefValue = null;
if (prefNotify instanceof ListPreference) {
ListPreference listPref = (ListPreference) prefNotify;
currentPrefValue = (listPref.getEntry()).toString();
Log.i(DEBUG_TAG, "current pref value in done is " + currentPrefValue);
}
但我不能在类中访问findPreference,因为它不扩展PreferenceActivity。我试图实例化preferencemanager对象,但也不能这样做。
最佳答案
除了thinksteep的回答,你还应该从你的活动中做这样的事情:
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreference(this);
prefs.getString(PREF_KEY, "default");
或类似的。