我正在Android Studio中制作一个简单的记忆游戏。游戏包含2个活动(MainActivity,GameActivity),我需要保存GameActivity中的高分并将其显示在MainActivity中。我已经尝试使用SharedPreferences,但是MainActivity中的高分仍然为0。
这是我在GameActivity中拥有的代码:
SharedPreferences prefs;
SharedPreferences.Editor editor;
String dataName = "MyData";
String intName = "MyInt";
int defaultInt = 0;
int hiScore;
prefs = getSharedPreferences(dataName,MODE_PRIVATE);
editor = prefs.edit();
hiScore = prefs.getInt(intName, defaultInt);
editor.putInt(intName, hiScore);
editor.commit();
MainActivity中的代码:
SharedPreferences prefs;
String dataName = "MyData";
String intName = "MyString";
int defaultInt = 0;
public static int hiScore;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
prefs = getSharedPreferences(dataName,MODE_PRIVATE);
hiScore = prefs.getInt(intName, defaultInt);
TextView textHiScore =(TextView) findViewById(R.id.textHiScore);
textHiScore.setText("Hi: "+ hiScore);
}
最佳答案
在GameActivity中
String intName = "MyInt";
MainActivity中的代码:
String intName = "MyString"; // change it to "MyInt"
在两个活动中对
intName
保持相同的参数。