我在stackoverflow中搜索了几个帖子,发现没有人谈论迁移整数,尝试了几件事但是没有成功。我是初学者,我可能错过了一些愚蠢的东西,但我看不出它是什么。
我正在设置一个测验,有几个活动,我想为每个活动的每个正确问题做一个得分为1分。
这是我的代码无效。如果有人能帮助我,我会立刻感激不尽。
活动1
public class A_Activity extends AppCompatActivity {
TextView score;
int mScore = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.a_activity);
score = (TextView) findViewById(R.id.score);
score.setText("Score: " + mScore);
}
public void onClickTrue(View v) {
mScore++;
score.setText("Score: " + mScore);
Intent i = new Intent(this, B_Activity.class);
Bundle params = new Bundle();
params.putInt("mScore", mScore);
i.putExtras(params);
startActivity(i);
}
活动2(接待)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.b_activity);
Intent i = getIntent();
if (i != null){
Bundle params = i.getExtras();
if (params != null){
String mScore = params.getString("mScore");
}
}
}
我如何解决这个问题?感谢。
答案 0 :(得分:1)
当您将数据放入数据包时,您使用了putInt
。
因此,在另一个活动中使用getIntExtra
方法
String mScore = getIntent().getIntExtra("mScore", 0);
答案 1 :(得分:0)
在第二个活动中使用此代码
Bundle i = getIntent().getExtras();
if(i!=null)
{
int a = i.getInt("mScore"); // in first activity you are putting integer values
Toast.makeText(getApplication(), String.valueOf(a), Toast.LENGTH_SHORT).show();
}