这个问题可能听起来很愚蠢,但我想知道我们什么时候输入活动名称Intent.putExtra()
?在一种情况下,我们只在 bundle 中添加 extra,在另一种情况下,我们使用类名传递它。我有点困惑我们是否应该使用Intent.putExtra(String, Bundle)
我们已经在Intent
构造函数中传递了活动名称?
谢谢你的帮助!
这个问题可能听起来很愚蠢,但我想知道我们什么时候输入活动名称Intent.putExtra()
?在一种情况下,我们只在 bundle 中添加 extra,在另一种情况下,我们使用类名传递它。我有点困惑我们是否应该使用Intent.putExtra(String, Bundle)
我们已经在Intent
构造函数中传递了活动名称?
谢谢你的帮助!
我认为您的意思是putExtra(String, Bundle)
vs putExtras(Bundle)
(与s)。
第一个添加捆绑包作为您提供的键的值。bundle 是一个简单的对象值。
第二个将提供的包中的所有键/值对添加到意图。在这种情况下,捆绑的内容将被添加到意图中,而不是捆绑本身。
把它们想象成Map
界面:
Map.put(String key, Object value)
对比
Map.putAll(Map anotherMap)
该方法只是这里的区别。如果您使用 a Bundle
,您可以在其中存储几乎所有类型:
Bundle mBundle = new Bundle();
mBundle.put(key, value);
并将其传递给活动
mIntent.putExtras(mBundle);
在接收信息的其他活动中,只需像这样获取捆绑包的内容:
Bundle extras = getIntent().getExtras();
并像这样抓住每个元素bundle
:
extras.getString("myKey")