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.

È stato utile?

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);
.

E Documentazione

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top