目前我有一个简单的游戏,其中精灵被初始化到游戏上,当他们被按下时,分数增加1。这是在游戏类中完成的,我有这个代码来传递来自hitCount的数字:
public int getHitCount() {
return hitCount;
}
接下来我有这个代码,它应该从getHitCount接收hitCount,然后将它传递给mainmenu。 unbindservice适用于音乐播放器,与意图无关:
public void finish(){
super.finish();
Intent returnIntent = new Intent();
returnIntent.putExtra("GAME_SCORE",(gameView.getHitCount()));
setResult(RESULT_OK, returnIntent);
doUnbindService();
}
这是主菜单类,显示活动已经开始获取意图的结果以及应该接收意图的位置但由于某种原因它没有获得值。
public void startGame(View v){
gameIntent = new Intent(this,GameActivity.class);
startActivityForResult(gameIntent, SCORE_REQUEST_CODE );
}
protected void onActivityResult(int requestCode, int resultCode, Intent retIntent) {
// Check which request we're responding to
if (requestCode == SCORE_REQUEST_CODE) {
// Make sure the request was successful
if (resultCode == RESULT_OK) {
if (retIntent.hasExtra("GAME_SCORE")) {
int scoreFromGame = retIntent.getExtras().getInt("GAME_SCORE");
tvhigh.setText(Integer.toString(scoreFromGame));
}
}
}
}
我不确定为什么没有传递任何值,因为据我所知,我的意图是正确的,数据应该通过。