Passing a Bundle on startActivity()?(在 startActivity() 上传递一个 Bundle?)
问题描述
将捆绑包传递给从当前活动启动的活动的正确方法是什么?共享属性?
What's the correct way to pass a bundle to the activity that is being launched from the current one? Shared properties?
推荐答案
你有几个选择:
1) 使用 Bundle 来自 意图:
1) Use the Bundle from the Intent:
Intent mIntent = new Intent(this, Example.class);
Bundle extras = mIntent.getExtras();
extras.putString(key, value);
2) 创建一个新的捆绑包
2) Create a new Bundle
Intent mIntent = new Intent(this, Example.class);
Bundle mBundle = new Bundle();
mBundle.putString(key, value);
mIntent.putExtras(mBundle);
3) 使用 putExtra() Intent 的快捷方式
3) Use the putExtra() shortcut method of the Intent
Intent mIntent = new Intent(this, Example.class);
mIntent.putExtra(key, value);
然后,在启动的 Activity 中,您可以通过以下方式阅读它们:
Then, in the launched Activity, you would read them via:
String value = getIntent().getExtras().getString(key)
注意: Bundle 对所有原始类型、Parcelable 和 Serializable 都有get"和put"方法.我只是将字符串用于演示目的.
NOTE: Bundles have "get" and "put" methods for all the primitive types, Parcelables, and Serializables. I just used Strings for demonstrational purposes.
这篇关于在 startActivity() 上传递一个 Bundle?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:在 startActivity() 上传递一个 Bundle?
- 使用自定义动画时在 iOS9 上忽略 edgesForExtendedLayout 2022-01-01
- MalformedJsonException:在第1行第1列路径中使用JsonReader.setLenient(True)接受格式错误的JSON 2022-01-01
- Android - 我如何找出用户有多少未读电子邮件? 2022-01-01
- android 4中的android RadioButton问题 2022-01-01
- 如何检查发送到 Android 应用程序的 Firebase 消息的传递状态? 2022-01-01
- Android - 拆分 Drawable 2022-01-01
- 在测试浓缩咖啡时,Android设备不会在屏幕上启动活动 2022-01-01
- Android viewpager检测滑动超出范围 2022-01-01
- 想使用ViewPager,无法识别android.support.*? 2022-01-01
- 用 Swift 实现 UITextFieldDelegate 2022-01-01