7

Ich habe eine PreferenceActivity basierend auf XML für PreferenceScreen erstellt. In der XML-Datei können Sie den verschiedenen Einstellungen Standardwerte zuweisen. Diese werden jedoch nicht in meinen SharedPreferences gespeichert, bevor der Bildschirm geöffnet und geschlossen wird.Wie SharedPreferences von einer PreferenceActivity in Android auf Standard festgelegt werden?

Das Problem ist, dass ich sofort die auf diesem Bildschirm gespeicherten Einstellungen (wie Serveradresse) verwenden möchte, und der Benutzer muss es nur öffnen, wenn er die Standardwerte ändern möchte.

Gibt es eine Möglichkeit, alle Einstellungen aus dem XML-Präferenzfenster zu speichern, ohne den Benutzer zum Öffnen und Schließen der Einstellungsaktivität zu zwingen?

Ich bin mir bewusst, dass Sie einen Standardwert beim Abrufen der Voreinstellung von SharedPreferences liefern können, aber es ist dumm, Standardwerte sowohl in XML und Code beibehalten zu müssen.

Antwort

13

Verwenden Sie einfach diesen Code in der Application Klasse.

PreferenceManager.setDefaultValues(this, R.xml.preference, false); 

Es wird Ihre Vorlieben von XML und letzten Parameter (readAgain) wird sichergestellt, dass Benutzereinstellungen werden nicht überschrieben laden. Sie müssen die Standardparameter in der R.xml.reference-Datei beibehalten. Weitere Informationen finden Sie in PreferenceManager.setDefaultValues in Android API.

+0

Genau das, was ich gesucht habe, danke! – Gober

+1

Große Antwort, genau das, was ich auch brauchte. – prolink007

Verwandte Themen