我正在编写游戏,并将玩家的最高分存储为 SharedPrefrence。我正在使用这种方法,以便当用户退出应用程序时,他的最高分仍然存在。在那之前我已经把所有的东西都编码好了。我现在想实现一种在玩家再次玩游戏时显示新的最高分的方法。这背后的逻辑是,如果第一个最高分大于零,则显示第一个最高分。然后再次进行游戏时,如果第二个最高分大于第一个最高分,则显示第二个最高分,否则显示第一个最高分。在我的脑海中,我认为一个简单的 If/else 语句就足够了,但是在声明第一个变量时我的问题就出现了。我写了以下代码,但它似乎不起作用。它只显示新分数——即使它比我不想要的第一个分数低。任何帮助将非常感激。代码:
TextView textSavedWeek2ms2_1 = (TextView)findViewById(R.id.ts02);
SharedPreferences sharedPreferences = getSharedPreferences("MY_SHARED_PREF", MODE_PRIVATE);
String strSavedWeek2ms2_1 = sharedPreferences.getString("top_score", "");
String topscore = strSavedWeek2ms2_1;
int topscore1 = Integer.valueOf( topscore);
if (topscore1 > 0 )
{
textSavedWeek2ms2_1.setText(topscore);
}
else
textSavedWeek2ms2_1.setText("0");
}