2

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?

Leprechaun
  • 852
  • 6
  • 25

0 Answers0