我正在创建一个简单的Android游戏但我不确定我在这里做错了因为是Android的新手。我的第一部分代码在GameView
类中,并返回一个整数,表示精灵被按下的次数:
public int getHitCount() {
return hitCount;
}
然后返回到GameActivity
类,其中一个intent接收它,然后它应该转到主菜单类,我想我已经将它发送到GameActivity
类正确,但我不确定为什么分数不会返回主菜单。这是我的GameActivity
意图:
public void finish(){
super.finish();
Intent returnIntent = new Intent(GameActivity.this,MainMenu.class);
returnIntent.putExtra("GAME_SCORE",gameView.getHitCount());
setResult(RESULT_OK, returnIntent);
}
}
以下是我用于在MainMenu
课程中显示它的代码,但由于某种原因它无效:
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");
tvScore.setText(""+Integer.toString(scoreFromGame));
}
}
public void startGame(View v){
gameIntent = new Intent(this,GameActivity.class);
startActivityForResult(gameIntent, SCORE_REQUEST_CODE );
}
答案 0 :(得分:1)
用于返回内容的意图只是一个简单的意图 - 无需设置目标组件
Intent returnIntent = new Intent();
没关系。
此外,尝试在调用完成之前执行setResult()
- 而不是覆盖完成。
您需要覆盖某些内容,请在onDestroy()
此外,您需要确保使用startActivityForResult()
启动托管GameView的活动。