У меня есть простая (не редактируемая пользователем) числовая настройка, определенная в XML-настройке следующим образом:
<EditTextPreference
android:key="@string/numeric_val"
android:defaultValue="0" />
И я прочитал ее, используя простое утверждение:
sharedPrefs.getInt(getString(R.string.numeric_val), 3)
Это работает, но когда я пытаюсь прочитать его, в первый раз после установки приложения , он генерирует ClassCastException
.
В документации говорится, что getInt()
"Выдает исключение ClassCastException, если есть предпочтение с этим именем, которое не является целым числом." - и я знаю, что это предпочтение четко определено как <EditTextPreference>
(строка?), Но, если этопричина исключения: как я должен использовать SharedPreferences.getInt()
?
Я знаю, что вместо этого могу использовать SharedPreferences.getString()
, а затем сам выполнять разбор / преобразование, но тогда какова цель SharedPreferences.getInt()