2012-04-01 64 views
0

我知道如何從android上的EditTexts保存字符串,但我的問題是:我需要保存某人工作的小時數... 這是我已完成的代碼的一部分.. 。toInt方法有錯誤。在Android中使用SharedPreferances保存整數

try { 
    SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0); 
    SharedPreferences.Editor editor = settings.edit(); 
    editor.putInt("Hours",edit_hours.getText().toInt()); 
    editor.commit(); 

    trying_to_save.setText("SAVED!"); 
} 
catch (Exception e) { 
    trying_to_save.setText("I crashed"); 
} 

你能幫我解決我的問題嗎? 謝謝Michael!

回答

2

好吧我不知道在Android中有toInt()方法嗎?

試試這個:

editor.putInt("Hours",Integer.parseInt(edit_hours.getText().toString())); 
+0

意志給我一個int當我把它拿出來,但因爲你是說改變編輯文本字符串? – 2012-04-01 21:07:59

+0

toInt()方法根本不存在,這就是爲什麼你得到一個編譯器錯誤。另一方面,getText()返回一個Editable值而不是String值。首先需要使用toString()獲取字符串值(UI中的實際文本),然後使用Integer.parseInt(String) – SiN 2012-04-01 21:11:51

+0

將其轉換爲Integer請問您如何回調我所做的類型爲'edit_hours .setText(settings.getInt(「Hours」,0));'在胰腺部分,但它墜毀? – 2012-04-01 23:10:06

0

,你可以用這個作爲一個例子:

SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(this); 
EditTextPreference XXX = (EditTextPreference)findPreference("Hours"); 
XXX.setText(Integer.parseInt(hours)); 
+0

以後如何使用這個函數回調它? – 2012-04-01 22:58:01