我正在尝试从main.class访问'score'整数变量,并在第二个屏幕上显示textview中的分数。到目前为止,我有这段代码:
//main.java
Intent myIntent = new Intent(this, Screen2.class);
myIntent.putExtra("scores", score);
startActivity(myIntent);
//screen2.java
TextView tView= (TextView)findViewById(R.id.textView);
public void getScore(){
Bundle bundle=getIntent().getExtras();
int value=bundle.getInt("scores");
}
如何让分数显示在文本字段中?
答案 0 :(得分:0)
使用以下代码返回bundle
public int getScore(){
Bundle bundle = getIntent().getExtras();
return bundle.getInt("scores");
}
并设置为textview,如:
TextView tView = (TextView)findViewById(R.id.textView);
tView.setText(String.valueOf(getScore()));
原因您使用void
作为返回类型,因此当您调用此方法时,您没有获得值,并且该值位于无法访问方法的局部变量中。并使用String.valueOf(getScore())
正确地将int转换为字符串
答案 1 :(得分:0)
在从意图中获得分数之后立即放置此行。
tView.setText(String.valueOf(value)); //value is your score that you get from intent
答案 2 :(得分:0)
我会说你甚至不必通过使用静态变量将变量传递给其他活动。静态变量是存储在存储器中的变量,直到程序执行。
这是方法: -
//MainActivity
public static int score;
@override
oncreate()
{
score=32;
Intent intent=new Intent(this,secondActivity.class);
startActivity(intent);
}
//Secondactivity
@override
oncreate()
{
TextView tv=(TextView)findViewById(R.id.score_txt);
tv.setText("Score : "+MainActivity.score);
}
希望它对你有所帮助......
THX