我正尝试在与 PreferenceActivity 无关的 Activity 之外使用此代码。我正在尝试这样做,以便我可以访问我的偏好值。
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 的答案,你应该从你的 Activity 中做这样的事情:
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreference(this);
prefs.getString(PREF_KEY, "default");
或类似的。
关于android - 在 PreferenceActivity 之外使用 findPreference(key),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8681972/