2012-04-01 46 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