2012-09-26 51 views
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)nameString值设置为message但怎么来的也改变show_message?当Activity在应用程序中启动时,它显示Stringname它应该显示show_message

实际上,我希望代码能够以现在的方式执行,但我无法理解为什么。

在此先感谢!

+0

您将关键值指定为MainActivity.EXTRA_MESSAGE – Aerrow

+0

问题是什么?您正在将show_message电视的文本分配给额外的值。 – njzk2

+0

我知道该程序在做什么,但不知道它是如何做的。但我现在明白了感谢保罗 – Ankush

回答

1

String name的价值没有被message.setText,而它是由StringExtra在接收到的意图被设置设置(即开始活动)

TextView message是指向TextView R.id.show_message

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

message.setText(name)将show_message的文本设置为任何字符串名称表示...此处传递的意图中的值。