运行 时获取 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"。因此,您首先检索字符串,然后将其转换为整数。