[android] Come iniziare un ListPreference a uno dei suoi valori


Answers

È successo nella stessa situazione. Specifica di un valore predefinito coerente. Ma graficamente non è stato selezionato. Ho cancellato i dati dell'applicazione. E poi ha funzionato come previsto. Quindi un chiaro può essere utile in fase di sviluppo quando si aggiungono nuovi oggetti XxxPreference.

Question

Sto cercando di impostare un valore predefinito su un oggetto ListPreference.

Ecco un esempio del mio file 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>

I due array:

<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>

Quando vado nell'attività di preferenza, nessun elemento di ListPreference è selezionato. Ho provato a impostare un valore int come 1 in "android: defaultValue" per selezionare "10 minuti" ma non funziona.

<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>

Qualche idea?




Se è un valore valido dall'elenco, quindi reinstallare l'app. Funzionerà.




Links



Tags

android android