2012-12-06 57 views
1

我使用getLong錯誤使用偏好

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

回答

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); 
0

嘗試包裝類存儲長值

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