[英]Intent.putExtra(String,Bundle) vs Intent.putExtra(Bundle)
這個問題可能聽起來很愚蠢,但我知道什么時候把活動名稱放在Intent.putExtra()
? 在一種情況下,我們只使用bundle進行額外的操作,而在其他情況下,我們使用類名傳遞它。 我有點困惑,如果我們使用Intent.putExtra(String, Bundle)
我們已經在Intent
構造函數中傳遞了活動名稱了嗎?
謝謝你的幫助!
我認為你的意思是putExtra(String, Bundle)
vs putExtras(Bundle)
(帶s )。
第一個添加捆綁包作為您提供的密鑰的值。 捆綁包是簡單的對象值。
第二個將所提供的包中的所有鍵/值對添加到intent。 在這種情況下,捆綁包的內容將添加到intent中,而不是捆綁包本身。
將它們想象為Map
接口:
Map.put(String key, Object value)
VS
Map.putAll(Map anotherMap)
這種方法與眾不同。 如果您使用Bundle
您可以在其中存儲幾乎所有類型:
Bundle mBundle = new Bundle();
mBundle.put(key, value);
並將其傳遞給一個活動
mIntent.putExtras(mBundle);
在收到信息的其他活動中,只需抓住包的內容,如下所示:
Bundle extras = getIntent().getExtras();
並抓住bundle
每個元素,如下所示:
extras.getString("myKey")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.