我们制作了一个简单的点击游戏,我想在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));
但是没有显示高分。你知道我能做什么??????
答案 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这样的东西,所以我可以阻止这个吗?