0

私はAndroidを初めて使用します。私のアクティビティの一部に含まれています

TextView message = (TextView) findViewById(R.id.show_message);
Intent intent = getIntent();
String name = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);
message.setText(name);

MainActivity現在のアクティビティが呼び出された前のアクティビティでした。また、上記のアクティビティのレイアウトファイルは次のとおりです。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<TextView  
    android:id="@+id/show_message" 
    android:layout_height="wrap_content" 
    android:textAppearance="?android:attr/textAppearanceLarge" 
    android:layout_width="wrap_content">

</TextView>

<Button
    android:id="@+id/button_back"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/show_message"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="17dp"
    android:onClick="goBack"
    android:text="Go Back to Activity Lifecycle" />

の値をmessage.setText(name)設定することは知っていますが、どうしてそれも変わるのでしょうか?アプリで起動すると、表示されるはずの場所の値が表示されます。Stringnamemessageshow_messageActivityStringnameshow_message

実際、コードを現在のように実行したいのですが、その理由がわかりません。

前もって感謝します!

4

1 に答える 1

1

の値は、受信したインテント (アクティビティを開始する) の StringExtra によって設定されているのでString nameはなく、によって設定されていません。message.setText

TextView messageを指していますTextView R.id.show_message

したがってmessage.setText("anything")、show_message のテキスト値を「anything」に設定します。

message.setText(name)show_message のテキストを文字列名が表すものに設定します...ここでは、インテントで渡された値です。

于 2012-09-26T12:50:17.073 に答える