0

我是安卓新手。我的活动的一部分包含

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)设置了Stringtonamemessage它怎么也改变了show_message?在Activity应用程序中启动时,它会显示应该显示String的位置的值。nameshow_message

实际上,我希望代码以现在的方式执行,但我不明白为什么。

提前致谢!

4

1 回答 1

1

的值String name不是由message.setText接收到的 Intent 中的 StringExtra 设置的(启动活动)

TextView message指向TextView R.id.show_message

所以message.setText("anything")将 show_message 的文本值设置为“任何东西”

message.setText(name)将 show_message 的文本设置为任何字符串名称所代表的...这里是在意图中传递的值。

于 2012-09-26T12:50:17.073 回答