我有一个带有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。
答案 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);