java - 简单的 Android 游戏中 Intent 崩溃

标签 java android android-intent methods extras

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

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

游戏 View :

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));
            }
        }   
    }
}

最佳答案

据我了解,GameActivity 将用户返回到 mainMenuActivity,因此首先,java 中的 super 关键字始终排在第一位您不能在 super() 之前放置任何内容,如果游戏 Activity 将您返回到主菜单,则 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类中 希望这对您有帮助。

关于java - 简单的 Android 游戏中 Intent 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29707675/

相关文章:

android - 如何使用自定义 Artifact 名称将模块上传到 Bintray?

android - 在 Android Studio 中显示非继承方法

android - 是否可以通过 Intent.ACTION_SEND 检索和存储用户选择共享文件

Android - startActivityForResult 获取用户位置?

java - 我如何检查 MySQL 和 Tomcat 是否正在运行?

java - 设计一个 RESTful 网站

android - 收到重复的 FCM 通知

android - 禁用其他应用程序注册的 Intent

java - 根据用户的输入调整 JLayeredPane 的大小

java - 下拉向导 : New admin resource