Search code examples
androidpreferencefragmentonpreferenceclicklistener

SwitchPreference stop working if setOnPreferenceChangeListener is implemented in PreferenceFragment


I've implemented SwitchPreference in PreferenceFragment and it works like a champ. But when I implement setOnPreferenceChangeListener on it its state does not change on the click event. Here is my implementation. Please have a look.

track_location = (CheckBoxPreference) findPreference("location_tracking");
track_location.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
            @Override
            public boolean onPreferenceChange(Preference preference, Object newValue) {
                return false;
            }
        });

if I remove the listener line, it works perfectly fine.


Solution

  • You have to return true inside onPreferenceChange