Действительно ли возможно определить ListPreference в Xml и получить значение от SharedPreferences с помощью getInt? Вот мой Xml:
<ListPreference android:key="@string/prefGestureAccuracyKey"
android:title="@string/prefGestureAccuracyTitle" android:summary="@string/prefGestureAccuracyDesc"
android:entries="@array/prefNumberAccuracyLabels" android:entryValues="@array/prefNumberAccuracyValues"
android:dialogTitle="@string/prefGestureAccuracyDialog"
android:persistent="true" android:defaultValue="2"
android:shouldDisableView="false" />
И я хочу получить значение с чем-то как: интервал val = sharedPrefs.getInt (ключ, defaultValue).
В данный момент я должен использовать getString и проанализировать результат.
Насколько я понимаю, ListPreference может работать только со строковыми массивами. Вам нужно будет использовать getString () и самому преобразовать в целое число. См. http://code.google.com/p/android/issues/detail?id=2096 для отчета об этой ошибке. Не похоже, что Google планирует расширить ListPreference для обработки чего-либо, кроме строк.
Также: вам также необходимо сохранить предпочтение в виде строки. В противном случае действие ваших предпочтений завершится сбоем при запуске и попытке чтения строкового значения.