Pregunta

¿Cómo puedo obtener mediante programación el valor predeterminado de un ListPreference como se ha definido en el XML?

Aquí está el fragmento de mi 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" />

Revisé los documentos pero no encontré una manera de obtener esto.Quizás lo he pasado por alto.

¿Fue útil?

Solución

Para PreferenceActivity (obsoleto con Fragment), intente:

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

Dónde mi llave es el valor clave asignado a esta ListPreference.Nota:Este valor se define en strings.xml.Si ha codificado su clave con una cadena literal, entonces sustitúyala mi llave con cualquier cuerda que hayas dado para el android:key etiqueta.Entonces, en tu caso, los códigos serán:

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

Otros consejos

¿Está intentando establecer inicialmente el valor predeterminado o restablecerlo para predeterminado?En cualquier caso, eche un vistazo a:

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

y el Documentación

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top