如何将整数变量传递给另一个类

时间:2013-03-03 17:40:44

标签: java android variables

我有一个带有public int Result的类;在游戏的后期,我使用该变量来存储用户制作的点数。现在,我有另一个名为Result的活动/类,我在该活动中有一个textView,我需要将Result变量用于sexText到该textView。我创建了一个我的游戏类的实例并在Result类中调用了它,而不是我做了类似的事情:

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。

2 个答案:

答案 0 :(得分: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); 
     ....
}

答案 1 :(得分:1)

首先,您提供的变量名称并不好,因为它不遵循CamelCase

所以它应该是结果而不是Result.Now尝试如下:

在测验活动中

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

在结果活动中

getIntent().getIntExtra("result_variable", 0);