使用首选项的getLong错误

时间:2012-12-06 13:41:12

标签: android long-integer

我用

long lvalue = Long.parseLong(string);
prefEditor.putLong(m_strfileName, lvalue);
prefEditor.commit(); 

然后我做

SharedPreferences oSettings = getSharedPreferences("FONECLAY", 0);
long strValue =  (long) oSettings.getLong(string, 0l);

这里我得到错误E / AndroidRuntime(20770):java.lang.ClassCastException:java.lang.Integer无法强制转换为java.lang.Long

2 个答案:

答案 0 :(得分:0)

使用以下代码将值存储到sharedpreferences中。

SharedPreferences myPrefs = this.getSharedPreferences("myPrefs", MODE_WORLD_READABLE);
SharedPreferences.Editor prefsEditor = myPrefs.edit();
prefsEditor.putLong("Value", mLongValue);
prefsEditor.commit();

使用以下代码从共享偏好中获取反向长值。

SharedPreferences myPrefs = this.getSharedPreferences("myPrefs", MODE_WORLD_READABLE);
long mVal = myPrefs.getLong("Value", 0.0);

答案 1 :(得分:0)

尝试使用包装器类来存储长值

long lvalue = Long.parseLong(string);
prefEditor.putLong(m_strfileName, new Long(lvalue));
prefEditor.commit();