我在我的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