Frage

Wie kann ich den Standardwert von a programmgesteuert abrufen? ListPreference wie es im XML definiert ist?

Hier ist der Ausschnitt von mir ListPreference:

    <ListPreference
        android:defaultValue="60"
        android:entries="@array/interval_entries"
        android:entryValues="@array/interval_values"
        android:key="interval"
        android:summary="@string/interval_summary"
        android:title="@string/interval_title" />

Ich habe die Dokumente durchgesehen, aber keine Möglichkeit gefunden, dies herauszufinden.Vielleicht habe ich es übersehen.

War es hilfreich?

Lösung

Versuchen Sie für PreferenceActivity (veraltet mit Fragment):

ListPreference lp = (ListPreference) this.findPreference(this.getString(R.string.my_key));
lp.getValue();

Wo mein Schlüssel ist der dieser ListPreference zugewiesene Schlüsselwert.Notiz:Dieser Wert ist in definiert strings.xml.Wenn Sie Ihren Schlüssel mit einer Literalzeichenfolge fest codiert haben, ersetzen Sie ihn mein Schlüssel mit der Zeichenfolge, die Sie für angegeben haben android:key Etikett.In Ihrem Fall lauten die Codes also:

ListPreference lp = (ListPreference) this.findPreference("interval");
lp.getValue();

Andere Tipps

Versuchen Sie, zunächst den Standardwert festzulegen oder ihn auf den Standardwert zurückzusetzen?Schauen Sie sich trotzdem Folgendes an:

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

und das Dokumentation

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top