I have an Example
class that implements OnSharedPreferenceChangeListener.
public class Example implements SharedPreferences.OnSharedPreferenceChangeListener {
public Example(Context cont) {
this.context = cont;
SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(cont);
sharedPref.registerOnSharedPreferenceChangeListener(this);
}
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
Log.d("TAG", "A preference has changed >>" + key);
}
}
However, the onSharedPreferenceChanged
method never gets called when I change a preference in the SettingsActivity
hosting a fragment:
public static class SettingsFragment extends PreferenceFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Load the preferences from an XML resource
addPreferencesFromResource(R.xml.preferences);
}
}
Why?