Einstellungsbildschirm ohne XML
Frage
Ich möchte Einstellungen verwenden, aber ich möchte sie nicht in XML verwenden. Ich habe dies verwendet, um meine XML zu finden:
this.addPreferencesFromResource(R.xml.settings);
Und das ist meine .xml:
<PreferenceCategory android:title="name">
<ListPreference android:key="name" android:title="Find name" android:summary="Select your name"
android:defaultValue="2" android:entries="@array/name" android:entryValues="@array/nameValues"/>
</PreferenceCategory>
Das funktioniert! Aber wie kann ich die Einstellungen in meiner Aktivität .java ohne die XML-Datei deklarieren? Vielleicht kann mir jemand einen kurzen Beispielcode für meinen Funktionscode geben.
Danke.
Lösung
Sie könnten einfach tun
private SharedPreferences preferences;
preferences = PreferenceManager.getDefaultSharedPreferences(this);
Boolean mypref = preferences.getBoolean("mypref_whatever", true);
Wenn Sie eine Voreinstellung schreiben müssen, verwenden Sie einfach einen Editor
SharedPreferences.Editor editor = preferences.edit();
editor.putBoolean("mypref_whatever", false);
editor.commit();
Auf diese Weise benötigen Sie überhaupt keine XML.Ist es das, wonach Sie suchen?
A.
Andere Tipps
Ich habe erklärt, wie dies zu tun ist. hier Dazu wird programmgesteuert ein PreferenceScreen erstellt und eine ListPreference daran gebunden, die dann zur aktuellen PreferenceFragment- oder Preference-Aktivität hinzugefügt wird