Android:在另一个活动中检索保存在PreferenceManager getDefaultSharedPreferences中的int

时间:2013-12-03 14:56:49

标签: android save sharedpreferences

我正在尝试使用默认Shared Preferences保存数据,但无法使此代码正常工作。

我无法在另一项活动中检索int值。

在我的第一项活动onCreate中,我想创建一个scorecounter,每次收到积分时都会计算。它将在首次运行时启动。

SharedPreferences preferences =  PreferenceManager.getDefaultSharedPreferences(this);
SharedPreferences.Editor editor = preferences.edit();

if (preferences.getBoolean("first_run", true)) 
{   
editor.putInt("totalpoang", 0);
editor.commit();
    preferences.edit().putBoolean("first_time", false);
}

在我的Activity B我要检索该值,修改它,然后再次将其保存在首选项中。

SharedPreferences preferences =  PreferenceManager.getDefaultSharedPreferences(this);
SharedPreferences.Editor editor = preferences.edit();
int poang = preferences.getInt(totalpoang, 0);
editor.putInt("antalpoang", totalpoang);
editor.commit();

然而我只得到错误totalpoang无法解析为变量

我在第一个Activity中将其初始化为int,我尝试将其作为int检索。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

更改此

int poang = preferences.getInt(totalpoang, 0);
//editor.putInt("totalpoang", 0); // key is "totalpoang" 

int poang = preferences.getInt("totalpoang", 0);

然后

editor.putInt("antalpoang", poang);