0

2 つのアクティビティ間で整数を渡そうとしています。

アクティビティ 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)numリソースのテキストを整数 ID で設定しますが、対応するリソースがないため、失敗する可能性が高くなります。

于 2013-09-16T20:35:40.967 に答える