Я сделал это немного более экстремально.
Я использовал ListPreference и сделал мой массив entryValues содержащим строки, которые я могу преобразовать в целое с помощью Integer.parseInt ().
Затем в своей PreferencesActivity я установил OnPreferenceChangeListener для этого предпочтения, а в методе onPreferenceChange () я установил другое предпочтение для целочисленной версии - именно этот второй я на самом деле использую в своем коде. Первый - только для пользовательской опции.
Таким образом, мне не нужно конвертировать строку в int каждый раз, когда мне нужно посмотреть на нее, я просто делаю это, когда пользователь устанавливает ее. Возможно, излишне, но это работает :) 1007 *