SharedPreferences不写/读

时间:2017-01-25 19:21:51

标签: android android-studio textview integer sharedpreferences

我们制作了一个简单的点击游戏,我想在SharedPreferences中保存高分。所以我们在MainActivity中编写了这段代码:

SharedPreferences sharedPref = getSharedPreferences("myPrefs",Context.MODE_PRIVATE);
            SharedPreferences.Editor editor = sharedPref.edit();
            editor.putInt("Highscore",clicks);
            editor.commit();

int clicks是你在那一轮所做的分数。

在另一项活动中,我们想在TextView中显示Highscore:

SharedPreferences sharedPrefs = getSharedPreferences("myPrefs",Context.MODE_PRIVATE);

    highscore = sharedPrefs.getInt("Highscore",0);
    highscoretv.setText(Integer.toString(highscore));

但是没有显示高分。你知道我能做什么??????

4 个答案:

答案 0 :(得分:0)

也许在两个活动中尝试将Context.MODE_PRIVATE替换为MODE_PRIVATE

答案 1 :(得分:0)

您应该使用这段代码而不是Context.MODE_PRIVATE

SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());

答案 2 :(得分:0)

而不是使用Get-ServiceFabricImageStoreContent; ,你应该使用editor.commit(); Apply将立即更新首选项对象,并以异步方式保存新值。

答案 3 :(得分:0)

对不起伙计们。我自己解决了。高分显示在已在后台打开的启动器活动中。因此,当我关闭MainActivity时,LauncherActivity进入了Foreground,但没有更新。你能告诉我是否像onActivityinForeground这样的东西,所以我可以阻止这个吗?