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.
You have to return true inside onPreferenceChange