我在我的PreferenceActivity中有一个Restore default settings
选项。设置更改后,我致电onContentChanged()。但由于某种原因,我的CheckboxPreference的视觉状态没有更新。当调用onContentChanged时,CheckboxPreference状态不会改变
如果发现的唯一的解决方法是手动更新状态:
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
boolean autoStartValue = prefs.getBoolean("auto_start", true);
CheckBoxPreference autoStartPref = (CheckBoxPreference)findPreference("auto_start");
autoStartPref.setChecked(autoStartValue);
// Notify that the preferences changed
EditPreferencesActivity.this.onContentChanged();
什么是这样做的正确方法是什么?
但据我了解,如果PreferenceActivity已经可见,这将不会更新CheckboxPreferences checked状态。 – tidbeck 2012-01-03 16:39:38