Intereting Posts

Как запустить ListPreference для одного из своих значений

Я пытаюсь установить defaultValue в элемент ListPreference.

Вот пример моего файла 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> 

Два массива:

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

Когда я перехожу к активности предпочтений, ни один элемент ListPreference не выбран. Я попытался установить значение int как 1 в «android: defaultValue», чтобы выбрать «10 минут», но он не работает.

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

Есть идеи?

Solutions Collecting From Web of "Как запустить ListPreference для одного из своих значений"

Вам нужно указать значение . Таким образом, чтобы получить первую запись, выбранную по умолчанию, укажите в вашем примере defaultValue="300" .

Случилось, что в такой ситуации. Указание постоянного значения по умолчанию. Но графически не выбрано. Я удалил данные приложения. И тогда это сработало, как ожидалось. Таким образом, ясный может быть полезен в Dev time при добавлении новых элементов XxxPreference.

В дополнение к ответу Свена, вы должны вызвать метод setDefaultValues ​​() в начале действия. Это будет установлено после всех значений по умолчанию.

 public class MainActivity extends Activity { protected void onCreate(final Bundle savedInstanceState) { // Set all default values once for this application // This must be done in the 'Main' first activity PreferenceManager.setDefaultValues(this, R.xml.preferences, false); ... } } 

Если это допустимое значение из списка, переустановите приложение. Это будет работать.