extends PreferenceActivity implements SharedPreferences.OnSharedPreferenceChangeListener 这样的Activity需要覆盖方法:public void onSharedPreferenceChanged(SharedPreferences options, String key) ; 然而 如果只是这样,在当前的Activity是不会生效的。 需要覆盖两个方法: @Override protected void onResume() { super.onResume(); // Set up a listener whenever a key changes getPreferenceScreen().getSharedPreferences() .registerOnSharedPreferenceChangeListener(this); } @Override protected void onPause() { super.onPause(); // Unregister the listener whenever a key changes getPreferenceScreen().getSharedPreferences() .unregisterOnSharedPreferenceChangeListener(this); } 然后在onSharedPreferenceChanged里面可以得到修改的内容,否则是无法得到修改的变化的。 可能的原因猜想是因为没有flush,所以配置修改一个不会发生改变。
PrefsActivity修改配置后立即生效。
猜你喜欢
转载自phenom.iteye.com/blog/1631797
今日推荐
周排行