2015-10-16 61 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

回答