1

我正在尝试在 android 中存储和检索数字,以便稍后我可以对结果进行计算。我正在设法存储和获取字符串,但由于某种原因似乎无法让它适用于整数

这是我测试的字符串代码

节省...

getSharedPreferences("words", 0).edit().putString("YAS", wordString).commit();

收到...

String words= getSharedPreferences("words", 0).getString("YAS", "");
t.setText(words);

但是当我用整数尝试类似的事情时它不起作用。

节省...

getSharedPreferences("number", 0).edit().putInt("numbers", 1).commit();

收到...

int test2 = getSharedPreferences("number", 0).getInt("numbers",0);

基本上我需要在按下按钮之前将保存的变量设置为 0(我猜它会是因为它当时不存在),然后在按下按钮时更改为 1。无论按钮被按下多少次,它只会等于 1 为任何帮助而欢呼

4

2 回答 2

5

根据您的评论,我假设您正在做这样的事情:

int test2 = getSharedPreferences("number", 0).getInt("numbers",0);
t.setText(test2);

这将使系统在您的 xml 资源文件中查找资源 id 值为 test2(在您的情况下为 0)的资源。此资源将不存在,您会遇到异常。

利用

int test2 = getSharedPreferences("number", 0).getInt("numbers",0);
t.setText(Integer.toString(test2));

反而。

于 2012-06-13T12:16:33.937 回答
0

你错了,在按下按钮之前 SharedPrefereces 不存在。第一次 - 是的,它不存在。但是,当您保存您的价值时,无论您重新启动应用程序多少次,它都会在那里。但是,如果您删除您的应用程序,那么 SharedPrefereces 也将被删除。

看起来您应该使用一个简单的整数变量(例如,类字段)。

于 2012-06-13T12:06:00.777 回答