簡體   English   中英

Intent.putExtra(String,Bundle)vs Intent.putExtra(Bundle)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM