Wie setze ich die Edittext-Präferenzzusammenfassung ein und lasse sie haften

8

Ich bin zurück und Vierter und ich verstehe es einfach nicht. Ich richte meine Einstellungen mit einem Präferenzfragment ein. Ich kann die Einstellungen funktionieren und ich kann sogar die "Zusammenfassung" aktualisieren, wenn ich die Änderung mache. Aber wenn ich den Einstellungsbildschirm verlasse und zurückkomme, wird die Zusammenfassung auf den Standardtext zurückgesetzt. Die Frage ist also, wenn eine Edittext-Präferenz verwendet wird. Wie aktualisierst du die Zusammenfassung, so dass sie zeigt, wofür der Nutzer die Einstellung geändert hat, und sie beim Schließen des Bildschirms und der App festhält? In diesem Fall ändert sich die Zusammenfassung in "MSE IP xxxx", wenn meine Benutzer den mse_ip ändern, aber sobald ich den Einstellungsbildschirm verlasse und zurückkomme, ist es zurück auf "0.0.0.0", wofür @ string / mseip eingestellt ist.

preferences.xml

%Vor%

preferencesfragment

%Vor%

setpreferenceactivity

%Vor%     
user3423167 26.03.2014, 04:42
quelle

2 Antworten

2

Sie müssen einen OnPreferenceChangeListener auf Ihre Präferenz setzen. Bald Jede Präferenzänderung, die setSummary aufruft, ändert die Übersichtsanzeige. Das könnte sein ein Beispielcode:

%Vor%

Sie sollten auch die setSummary-Methode Ihrer Präferenz in onCreate () aufrufen. Damit die Zusammenfassung den Wert sharedPreference anzeigt.

    
Nick 16.03.2015 21:42
quelle
0

Es scheint, dass Sie nur den Wert dieses EditText aktualisieren. Versuchen Sie, den neuen Wert in den freigegebenen Einstellungen zu speichern, indem Sie das

aufrufen

sharedPreferences.edit().putString(key, editTextPreference.getText()).apply();

Dies kann in der Funktion updatePreference(String key) aufgerufen werden.

    
Blehi 01.09.2014 20:53
quelle