que tienen un valor numérico (el usuario no editable) la simple definido en un XML preferencias de la siguiente manera:SharedPreferences.getInt() da como resultado ClassCastException - ¿Por qué?
<EditTextPreference
android:key="@string/numeric_val"
android:defaultValue="0" />
y lo leí el uso de esta declaración simple:
sharedPrefs.getInt(getString(R.string.numeric_val), 3)
Funciona, pero cuando Intento leerlo, por primera vez después de la instalación de la aplicación, genera un ClassCastException
.
documentation dice que getInt()
"Emite ClassCastException si hay una preferencia con este nombre que no es una int." - y sé que esta preferencia está claramente definida como <EditTextPreference>
(¿una cadena?) Pero, si este es el motivo de la excepción, ¿cómo se supone que debo usar SharedPreferences.getInt()
?
Sé que puedo usar SharedPreferences.getString()
en su lugar y luego hacer el análisis/conversión, pero ¿cuál es el propósito de SharedPreferences.getInt()
?
gracias por esta explicación muy educar. +1 y aceptando. – uTubeFan