传递意图

Passing an Intent

我有一个简单的游戏,您可以在其中单击一个精灵来增加点击计数器。游戏结束后,我希望将比分从游戏开始时的主菜单传递到主菜单,但无法使其正常工作。这是我针对三种不同 类 的代码,我不确定要在方法中放入什么。

游戏Activity-

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

游戏视角-

public String getHitCount() {

        String Score = Integer.toString(hitCount);
        return Score;

                /*Intent returnIntent = null;
                String Result = returnIntent.getExtras().getString("GAME_SCORE");
                TextView GameScore = (TextView)findViewById(R.id.tvGuessGame);
                GameScore.setText(Result);
                return Result;*/
        }

主菜单-

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

    }

游戏得分是字符串,但在 onActivityResult 中获取为 int

  1. 更改您的 return getHitCount() 方法类型。

    public int getHitCount(){

            return hitCount;
            }
    
  2. 在 onActivityResult 中:

    tvScore.setText(""+Integer.toString(scoreFromGame));