Jede andere Präferenz habe ich feuert seine OnPreferenceChangeListener. Allerdings ist mein RingtonePreference es nicht:RingtonePreference nicht feuern OnPreferenceChangeListener
p = getPreferenceScreen().findPreference("pref_tone");
String rname = preferences.getString("pref_tone",Settings.System.DEFAULT_RINGTONE_URI.toString());
String name = ringtoneToName(rname);
p.setSummary(name);
p.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
public boolean onPreferenceChange(Preference preference, Object newValue) {
// Never hits here!
String v = (String) newValue;
preference.setSummary(ringtoneToName(v));
return true;
}
});
Dies hat etwas damit zu tun, dass die Präferenzaktivität eine onActivityResult-Methode hat. – LiteWait