Estoy intentando establecer un DefaultValue en un elemento ListPreference.Cómo iniciar una ListPreference a uno de sus valores
Aquí es una muestra de mi archivo preference.xml:
<ListPreference android:key="notification_delay"
android:title="@string/settings_push_delay"
android:entries="@array/settings_push_delay_human_value"
android:entryValues="@array/settings_push_delay_phone_value"
android:defaultValue="????">
</ListPreference>
Las dos matrices:
<string-array name="settings_push_delay_human_value">
<item>every 5 minutes</item>
<item>every 10 minutes</item>
<item>every 15 minutes</item>
</string-array>
<string-array
name="settings_push_delay_phone_value">
<item>300</item>
<item>600</item>
<item>900</item>
</string-array>
Cuando entro en la actividad preferencia, se selecciona ningún elemento de la ListPreference. Intenté establecer un valor int como 1 en el "android: defaultValue" fied para seleccionar "10 minutos" pero no funciona.
<ListPreference android:key="notification_delay"
android:title="@string/settings_push_delay"
android:entries="@array/settings_push_delay_human_value"
android:entryValues="@array/settings_push_delay_phone_value"
android:defaultValue="1">
</ListPreference>
¿Alguna idea?
Esto funciona bien, programáticamente tengo un valor de 300. Pero, de hecho, lo que me gustaría es seleccionar "gráficamente" una de las filas de ListPreference de manera predeterminada. –
En mi aplicación, hace exactamente eso: el valor especificado para "defaultValue" se selecciona en la lista de preferencias, cuando la aplicación se inicia por primera vez. No entiendo por qué esto no debería funcionar para usted ... – sven
Disculpe mi error. Hice un error entre los valores predeterminados y los valores en la matriz. Funciona bien en todos los teléfonos que probé. Gracias. –