在MainActivity.class
,
我正在改变偏好的值,如下所示:
mPrefs = StripedMain.this
.getSharedPreferences(SHARED_PREFS_NAME, 0);
mPrefs.registerOnSharedPreferenceChangeListener(this);
onSharedPreferenceChanged(mPrefs, null);
public void onSharedPreferenceChanged(SharedPreferences prefs,
String key) {
preVal = prefs.getString(key, "st");
if (preVal.equals("a")){
prefs.edit().putString("name", "Rob").commit();
}
}
这可行,但屏幕本身的值不会立即更改,而只会在设置屏幕关闭并再次打开后更改。
那为什么会这样,我该如何解决呢?