1

我用

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 cannot be cast to java.lang.Long

4

2 回答 2

0

尝试包装类来存储长值

long lvalue = Long.parseLong(string);
prefEditor.putLong(m_strfileName, new Long(lvalue));
prefEditor.commit(); 
于 2012-12-06T14:25:34.147 回答
0

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

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

使用下面的代码从 sharedpreferences 中检索 long 值。

SharedPreferences myPrefs = this.getSharedPreferences("myPrefs", MODE_WORLD_READABLE);
long mVal = myPrefs.getLong("Value", 0.0);
于 2012-12-06T13:54:35.677 回答