Come posso ottenere il valore predefinito di un elenco di lista come definito nell'XML?
-
21-12-2019 - |
Domanda
Come posso ottenere il valore predefinito del valore predefinito di un ListPreference
come definito in XML?
Ecco lo snippet del mio 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" />
.
Sono stato attraverso i documenti ma non ho trovato un modo per ottenere questo.Forse ho trascurato.
Soluzione
Per la preferenza (deprecata con frammento), provare:
ListPreference lp = (ListPreference) this.findPreference(this.getString(R.string.my_key));
lp.getValue();
.
Dove My_Key è il valore chiave assegnato a questo elenco.Nota: questo valore è definito in strings.xml
.Se hai codificato rigido la chiave con una stringa letterale, quindi sostituire My_Key con qualsiasi stringa che hai fornito per il tag android:key
.Quindi, nel tuo caso, i codici saranno:
ListPreference lp = (ListPreference) this.findPreference("interval");
lp.getValue();
. Altri suggerimenti
Stai cercando di impostare inizialmente il valore predefinito o ripristinarlo in default?Indipendentemente da considerare:
PreferenceManager.setDefaultValues(this, R.xml.your_pref_xml, false);
.