Android 第一次提交';无法提高共享优先权已更改

Android 第一次提交';无法提高共享优先权已更改,android,events,sharedpreferences,preferences,Android,Events,Sharedpreferences,Preferences,我们调查了这种奇怪的行为 我们在主活动中创建了共享首选项ChangeListener,并存储在静态字段中: public static SharedPreferences.OnSharedPreferenceChangeListener listener = null; 我们还在onCreate方法中创建并注册了它 我们有三个按钮,可以通过以下方式更改设置和调用提交: SharedPreferences prefs = PreferenceManager.get

我们调查了这种奇怪的行为

我们在主活动中创建了共享首选项ChangeListener,并存储在静态字段中:

public static SharedPreferences.OnSharedPreferenceChangeListener listener = null;
我们还在onCreate方法中创建并注册了它

我们有三个按钮,可以通过以下方式更改设置和调用提交:

                SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getActivity());
                SharedPreferences.Editor editor = prefs.edit();
                editor.putString("setting1", "value");
                editor.commit();
问题在于:


单击按钮时,共享首选项更改的第一次没有出现!当我们第二次点击时,一切正常。为什么这次活动没有第一次举办?

我希望它能帮助一些人:

问题是我们在onCreate方法中注册了它。如果您将在onResume方法中创建它,它将起作用


另外,请查看此答案,以了解SharedReference的常见问题:

如果您不理解此问题,请查看此答案