Ich verwende PreferenceManager.setDefaultValues(context,R.xml.preferences,false)
, um die Standardwerte der Einstellungen in meiner Anwendung festzulegen, und mir ist aufgefallen, dass meine PreferenceFragment
keinen Standardwert dafür anzeigt, wenn ich eine neue Einstellung hinzufüge im preferences.xml ..PreferenceManager.setDefaultValues readAgain-Parameter und neue Einstellungen
, auch wenn es dies aufgrund der Tatsache, dass ich readAgain als falsch angeben?
Ich weiß, ich kann einfach versuchen-und-sehen, aber ich wollte nur sicher sein, dass die readAgain für diesen Zweck gedacht ist, dh die Standardwerte wieder lesen, nicht wieder eingestellt Benutzereinstellungen, sondern setzen die Standardwerte der neuen Eigenschaften. Wenn dies genau der Zweck des readAgain Flags ist, können Sie mir dann einen Grund geben, nicht immer readAgain auf wahr zu setzen, vorausgesetzt, dass Benutzereinstellungen nicht zurückgesetzt werden?
Ich dachte über den möglichen Overhead nach ... Ich habe weniger als 10 Voreinstellungen, also sollte es kein Problem sein. Gibt es eine andere Möglichkeit zu überwachen, wenn neue Einstellungen hinzugefügt werden und ein Voreinstellen der Voreinstellung nur in diesem Fall erzwingen? Kann ich zum Beispiel verstehen, wenn eine Anwendung zum ersten Mal nach der Aktualisierung gestartet wird? Vielleicht könnte ich eine Vorliebe wie * last_version_seen * verwenden und es überprüfen, wenn die Anwendung gegen die aktuelle Version gestartet wird und die Voreinstellungen neu laden, wenn * readAgain * auf true gesetzt ist, richtig? –
Rufen Sie den Code von [ChangeLog] (http://code.google.com/p/android-change-log/) auf. Der Name erklärt die Verwendung dieses Code-Satzes. Abgesehen davon können Sie jedoch die Erstprüfung durchführen, indem Sie dafür eine DefaultSharedPreference festlegen. ;-). – Niranjan
@GianniCostanzi Lassen Sie 'readagain' auf true. Wenn es nur 10 Einstellungen sind, warum mit viel mehr Code beschäftigen. Es ist nicht faul, es ist einfach nicht wert, eine weitere Pref zu diesem Zweck von 10-20 Prefs zu erstellen. Aber wenn Ihnen die 'ChangeLog' Bibliothek gefallen hat, die ich Ihnen gezeigt habe, dann fügen Sie das Bit in dieser Datei hinzu.' Cl.firstRun() 'ist irgendwo da drin. :-). Ansonsten lass es einfach wahr. – Niranjan