0

我正在为 android 制作一个简单的游戏,但是由于我是初学者,有时我会遇到一些基本问题和代码中的错误。我不知道该代码有什么问题,但是当我按下返回按钮并且没有将分数从游戏重定向到主菜单时,它似乎崩溃了。

public void finish(){
    Intent returnIntent = new Intent();
    returnIntent.putExtra("GAME_SCORE",gameView.getHitCount());
    setResult(RESULT_OK, returnIntent);
    super.finish();
  }

游戏视图:

public int getHitCount(){
    return hitCount;
    }

和主菜单:

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");
                tvScore.setText(""+Integer.toString(scoreFromGame));
            }
        }   
    }
}
4

1 回答 1

2

据我了解,首先GameActivity将用户返回给用户,mainMenuActivity所以首先superJava中的关键字总是首先出现,您不能只在前面放任何东西super(),如果游戏活动将您返回到主菜单,则该onFinish()方法必须是:

super.finish();
Intent returnIntent = new Intent(GameActivity.this,MainMenu.class);
returnIntent.putExtra("GAME_SCORE",gameView.getHitCount());
setResult(RESULT_OK, returnIntent);

并获得游戏分数,如果它的整数然后使用:

Intent intent = getIntent();
int intValue = intent.getIntExtra("GAME_SCORE", 0);

在你的MainMenu课堂上希望这会对你有所帮助。

于 2015-04-17T19:50:45.513 回答