Ich benutze Edittextpreference als eine der Einstellungen im Einstellungsbereich. Ich möchte diese Edittext-Voreinstellung validieren, wenn der Benutzer Daten dorthin eingibt und auf OK klickt; bevor Sie es in der gemeinsamen Voreinstellung speichern.Android EditText Präferenzüberprüfung
Ich versuche, so etwas zu tun, aber das spart die Präferenz zuerst nehme ich an.
editTextPreference
.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference,
Object newValue) {
if (((newValue.toString().length() == 15) {
// save preference only if length is equal to 15
}
})
});
kann mir jemand führen, wie edittextpreference zu validieren, bevor es in sharedpreference gespeichert ist, so dass ich entscheiden kann, wenn ich es gespeichert werden soll oder nicht.
Also ich lade Präferenzen von xml durch addPreferencesFromResource (R.xml.settings); und Implementieren von SharedPreferences.OnSharedPreferenceChangeListener und Preference.OnPreferenceChangeListener im PreferenceFragment, anstatt es wie beschrieben in der EditTextPreference festzulegen. Der onPreferenceChange-Listener wird nie aufgerufen. Nur die onSharedPreferenceChanged-Funktion. Warum denken Sie? – marienke
http://stackoverflow.com/a/41446046/956975 <- könnte etwas damit zu tun haben (Unterschied zwischen SharedPreferences und Preferences). – marienke