SharedPreferences.getInt() приводит в ClassCastException - Почему?

У меня есть простая (не пользовательская) числовая настройка, определенная в настройках XML следующим образом:


И я читаю ее, используя это простое утверждение:

sharedPrefs.getInt(getString(R.string.numeric_val), 3)

Она работает, но когда я пытаюсь прочитать ее, в первый раз после установки приложения, она генерирует ClassCastException.

В документации сказано, что getInt() "Бросает ClassCastException, если есть предпочтение с таким именем, которое не является int." - и я знаю, что это предпочтение четко определено как (строка? ), но если это причина исключения, то как я должен использовать SharedPreferences.getInt()?

Я знаю, что могу использовать SharedPreferences. getString() вместо этого, а затем сделать разбор/конверсию самостоятельно, но для чего тогда SharedPreferences.getInt()?

19
задан uTubeFan 31 August 2011 в 12:59
поделиться