意图没有返回分数?

时间:2015-05-04 23:54:23

标签: android android-intent

我正在创建一个简单的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 );  
}

1 个答案:

答案 0 :(得分:1)

用于返回内容的意图只是一个简单的意图 - 无需设置目标组件

Intent returnIntent = new Intent();

没关系。

此外,尝试在调用完成之前执行setResult() - 而不是覆盖完成。 您需要覆盖某些内容,请在onDestroy()

中执行

此外,您需要确保使用startActivityForResult()启动托管GameView的活动。