0

最初のアクティビティには 1 つのボタン ( buttton1) があり、2 番目のアクティビティにはテキストビュー ( textView1) があります。これは私が書いたコードです:

public void buttton1 (View v){

Intent buttton1 = new Intent (MainActivity.this, Back.class);

startActivity(buttton1);

TextView textView = (TextView)findViewById(R.id.textView1);

textView.setText("Hello");

finish();

}

アプリケーションを実行してボタンをクリックすると、強制終了します。だから私を助けてください、どこが悪いのですか?

4

3 に答える 3

1

textView は、アクセスしようとしているアクティビティではなく、開いているアクティビティにあるため、おそらく null です。putExtraを使用してテキストを次のアクティビティに送信し、そのアクティビティのテキストビューを更新する必要があります。

于 2013-08-15T11:47:59.287 に答える
0

私がそれを正しく理解しているなら。textview は back.class である 2 番目のアクティビティに属します。したがって、back.class のコンポーネントを使用する必要がある場合は、そのクラスのコードで行う必要があります。

わかりやすくするために、次の 2 つの概念について説明します。1) 別のアクティビティ B から別のアクティビティ A を開始すると、制御は B から A に移行するため、アクティビティ A のコンポーネントはアクティビティ A で定義および制御する必要があります。2)ボタンに 2 つの機能を実行させることは、実際には可能であっても、次のアクティビティ (back.class) ではなく、同じアクティビティのコンポーネントに適用されます。

いくつかの点がクリアされたことを願っています。

于 2013-08-15T11:48:27.030 に答える