如何正确使用getIntExtra?

时间:2013-09-16 20:30:49

标签: java android android-intent

我试图在两个活动之间传递一个整数。

活性1:

Intent intent = new Intent(this, Activity2.class);
int num1=40;
intent.putExtra("num1", num1);
startActivity(intent);

活性2:

Intent intent = getIntent();
int num = intent.getIntExtra("num1", 1);
TextView tv = (TextView) findViewById(R.id.tb_01);
tv.setText(num);

当我启动应用程序时,按下启动方法的按钮(1.。codeblock),它崩溃说:“不幸的是,程序停止了。” 当我发送字符串时,它工作正常。

2 个答案:

答案 0 :(得分:4)

没有堆栈跟踪这只是一个猜测,但我打赌这是问题

tv.setText(num);

这里你试图使用该号码作为资源ID,这将不存在,所以如果你想在文本视图中将数字显示为文本,你需要做

tv.setText(String.valueOf(num))

将为您提供您传递的数字的字符串

答案 1 :(得分:3)

您需要更改

tv.setText(num);

tv.setText(String.valueOf(num));

TextView.setText(int)将按整数id设置资源的文本,这很可能会失败,因为num没有相应的资源。