2012-11-22 33 views
-3

林對此代碼有一些懷疑。關於意圖和putExtra()

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,消息)和它的使用?
  3. 爲什麼MY_MESSAGE分配給com.example.myfirstapp.MESSAGE?什麼是com.example.myfirstapp.MESSAGE?
+0

也許你應該考慮閱讀文檔。這些都是非常基本的問題,可以通過Google搜索方法輕鬆回答。也會給你更多的背景輸入:)和平! –

回答

2

1)由於findViewById()是它返回一個搜索

2)意圖是用於去耦的通信的靈活的方式的通用方法,它像您發送(指定期望的動作和可選的額外數據的消息)。 putExtra()是一種允許您將信息嵌入您的意圖的方法

3)Intent的額外數據基於鍵值存儲。 EXTRA_MESSAGE是存儲郵件的關鍵。你意圖的接收者知道它可以從這個密鑰中檢索你的消息。

4)「com.example.myfirstapp.MESSAGE」是該鍵的實際值。它是一個任意值,必須由意圖的發送者和接收者知道,以便他們通過意圖進行通信

0

意圖附加功能用於將數據參數傳遞給其他活動,因此如果要啓動新的活動你想傳遞一個字符串到新的活動,你應該對你的意圖增加額外的字符串作爲您例如:EXTRA_MESSAGE是關鍵和消息對消息

擴展數據添加到意圖。該名稱必須包含包前綴,例如com.android.contacts應用程序將使用「com.android.contacts.ShowAll」之類的名稱。

參數 name額外數據的名稱,帶有包前綴。 value字符串數據值。

返回 返回相同的Intent對象,用於將多個調用鏈接到單個語句中。