2015-10-16 47 views
-1

我們調查了奇怪的行爲。首次提交沒有提出ShaderPreferenceChanged

我們OnSharedPreferenceChangeListener在主要活動中創建並存儲在靜態字段:

public static SharedPreferences.OnSharedPreferenceChangeListener listener = null; 

此外,我們創建並在onCreate方法註冊它。

我們有更改設置和調用commit以這樣的方式三個按鈕:

   SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getActivity()); 
       SharedPreferences.Editor editor = prefs.edit(); 
       editor.putString("setting1", "value"); 
       editor.commit(); 

的問題是在以下幾點:

onSharedPreferenceChanged沒有提出首次當我們點擊按鈕!當我們第二次點擊時,一切正常。爲什麼這個活動第一次沒有升起?

+0

如果你不明白的問題,請看看這個http://stackoverflow.com/questions/2542938/sharedpreferences-onsharedpreferencechangelistener - 不是幸福所謂洽 – Sasha

回答