-3

我对这段代码有一些疑问。

public class MainActivity extends Activity { 
    public final static String EXTRA_MESSAGE = "com.example.myfirstapp.MESSAGE"; 
    Intent intent = new Intent(this, DisplayMessageActivity.class); 
    EditText editText = (EditText) findViewById(R.id.edit_message); 
    String message = editText.getText().toString(); 
    intent.putExtra(EXTRA_MESSAGE, message); 
  1. 为什么我们在 EditText 中使用强制转换
  2. 什么是 putExtra(EXTRA_MESSAGE,message) 及其用途?
  3. 为什么将 MY_MESSAGE 分配给 com.example.myfirstapp.MESSAGE?什么是 com.example.myfirstapp.MESSAGE?
4

2 回答 2

2

1)因为findViewById()是返回视图的通用方法

2)意图是一种灵活的解耦通信方式,它就像您发送的消息(指定所需的操作和可选的额外数据)。putExtra()是一种允许您将信息嵌入到您的意图中的方法

3) Intent 的额外数据是基于键值存储的。EXTRA_MESSAGE 是存储消息的键。您的意图的接收者知道它可以从该密钥中检索您的消息。

4)“com.example.myfirstapp.MESSAGE”是这个键的实际值。这是一个任意值,必须由意图的发送者及其接收者知道,以便他们通过意图进行通信

于 2012-11-22T09:02:02.907 回答
0

意图附加项用于将数据参数传递给其他活动,因此,如果您想启动一个新活动并且您想将一个字符串传递给新活动,您应该在您的意图中添加额外的字符串,如您的示例:EXTRA_MESSAGE 是关键和消息 si 消息

向意图添加扩展数据。该名称必须包含包前缀,例如应用程序 com.android.contacts 将使用类似“com.android.contacts.ShowAll”的名称。

参数 name 额外数据的名称,带有包前缀。value 字符串数据值。

Returns 返回相同的 Intent 对象,用于将多个调用链接到单个语句中。

于 2012-11-22T09:04:07.060 回答