运行 时获取 ClassCastException
Getting ClassCastException while running
这是我的 preference.xml
代码
<EditTextPreference
android:defaultValue="3"
android:key="number"
android:numeric="integer"
android:summary="Enter how many Days older files"
android:title="Set Days" />
当我尝试通过如下所示的 sharedpreference 获取其值时
int fileolderthan = sharedPreferences.getInt("number",7);
在 运行 代码 java.lang.ClassCastException 上出现错误:java.lang.String 无法转换为 java.lang.Integer。
如何修复它,请任何提示。
更改此行
int fileolderthan = sharedPreferences.getInt("number",7);
与
int fileolderthan = Integer.valueOf(sharedPreferences.getString("number","7"));
EditTextPreference 将值保存为字符串,即使您设置了 android:numeric="integer"
。因此,您首先检索字符串,然后将其转换为整数。
这是我的 preference.xml
代码<EditTextPreference
android:defaultValue="3"
android:key="number"
android:numeric="integer"
android:summary="Enter how many Days older files"
android:title="Set Days" />
当我尝试通过如下所示的 sharedpreference 获取其值时
int fileolderthan = sharedPreferences.getInt("number",7);
在 运行 代码 java.lang.ClassCastException 上出现错误:java.lang.String 无法转换为 java.lang.Integer。
如何修复它,请任何提示。
更改此行
int fileolderthan = sharedPreferences.getInt("number",7);
与
int fileolderthan = Integer.valueOf(sharedPreferences.getString("number","7"));
EditTextPreference 将值保存为字符串,即使您设置了 android:numeric="integer"
。因此,您首先检索字符串,然后将其转换为整数。