在类之间传递变量并在文本字段中使用

时间:2014-04-30 17:19:42

标签: android variables textview

我正在尝试从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");
}

如何让分数显示在文本字段中?

3 个答案:

答案 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