0

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

活动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.代码块)的按钮时,它崩溃说:“不幸的是,程序停止了。” 当我发送字符串时它工作正常。

4

2 回答 2

4

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

tv.setText(num);

在这里,您尝试将数字用作不存在的资源 ID,因此如果您想在文本视图中将数字显示为文本,则需要执行

tv.setText(String.valueOf(num))

这会给你一串你传递的数字

于 2013-09-16T20:35:27.170 回答
3

你需要改变

tv.setText(num);

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

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

于 2013-09-16T20:35:40.967 回答