【问题标题】:Saving integers using SharedPreferances in Android在 Android 中使用 SharedPreferences 保存整数
【发布时间】:2012-04-15 14:46:53
【问题描述】:

我知道如何从 Android 上的 EditTexts 保存字符串,但我的问题是:我需要保存某人工作的小时数... 这是我完成的代码的一部分...toInt 方法有错误。

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");
}

你能帮我解决我的问题吗? 谢谢迈克尔!

【问题讨论】:

    标签: android android-edittext int sharedpreferences save


    【解决方案1】:

    你可以以此为例:

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

    【讨论】:

    • 你以后如何用这个回调它?
    【解决方案2】:

    好吧,我不知道 Android 中有一个 toInt() 方法?

    试试这个:

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

    【讨论】:

    • 当我取出它时会给我一个 int,因为你说将编辑文本更改为字符串?
    • toInt() 方法根本不存在,这就是您收到编译器错误的原因。另一方面,getText() 返回一个 Editable 值而不是 String 值。您首先需要使用 toString() 获取字符串值(UI 中的实际文本),然后使用 Integer.parseInt(String) 将其转换为 Integer
    • 你能告诉我你是怎么把它叫回来的吗?我所做的是输入'edit_hours.setText(settings.getInt("Hours", 0));'在 oncreat 部分,但它崩溃了?
    • 别担心我想通了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-08
    • 2017-12-06
    • 1970-01-01
    • 1970-01-01
    • 2014-03-01
    • 2012-05-30
    • 1970-01-01
    相关资源
    最近更新 更多