0

我有一堂公共 int Result 的课;在游戏后期,我使用该变量来存储用户获得的点数。现在,我有另一个名为 Result 的活动/类,并且我在该活动中有一个 textView,我需要使用 Result 变量将 sexText 转换为该 textView。我创建了我的游戏类的一个实例,并在 Result 类中将其命名为 g,然后我做了这样的事情:

score = (TextView) findViewById(R.id.tvResult);
        score.setText("Game over!\nYour score is:\n" + k.Result);

但我总是得到 0。我认为这是因为我得到了变量的默认值,而不是真正的变量。游戏结束后如何将添加到变量的最终值传递给我?

我也在游戏活动中尝试了这个,将变量作为意图传递:

Intent i = new Intent(Quiz.this, Result.class);
            i.putExtra("newResultVariable", Result);
            startActivity(i);

也得0。

4

2 回答 2

2

将变量作为意图传递。

要使用任何语言进行编程,您应该遵循语言的命名约定。

在 Quiz.java 中

Intent intent = new Intent(context,Result.class);
intent.putExtra("newResultVariable", result);
startActivity(intent);

在 Result.java 中获取值。

public void onCreate(Bundle bundle) {
    ....
    int score = 0;
    TextView scoreTextView = (TextView) findViewById(R.id.tvResult);

    Bundle extras = getIntent().getExtras(); 
    if(extras !=null) {
       score = extras.getInt("newResultVariable", 0);
    }

     scoreTextView.setText("Game over!\nYour score is:\n" + score); 
     ....
}
于 2013-03-03T17:42:49.910 回答
1

首先,您给出的变量名不好,因为它没有遵循 CamelCase

所以它应该是结果而不是结果。现在尝试如下:

在测验活动中

Intent intent = new Intent(getApplicationContext(),Result.class);
intent.putExtra("result_variable", result);
startActivity(intent);

结果活动

getIntent().getIntExtra("result_variable", 0);
于 2013-03-03T17:45:55.900 回答