参考:http://stackoverflow.com/questions/3293020/android-how-to-put-an-enum-in-a-bundle

http://blog.csdn.net/neu_yousei/article/details/21953995

  • 在两个Activity之间传递数据,最终都是通过bundle传递,
  • Intent的Extra属性就是Bundle对象,
  • Bundle对象就是一个Map对象

下面的示例中是以存取enum类型的数据为例

方法一:

使用Intent便捷方式,这些方法是直接存取Intent所携带的Bundle中的数据
put

intent.putExtra(String "name", Xxx value)//向Intent中按key-value对的形式存入数据

示例:

Intent intent = new Intent(MainActivity.this,OtherActivity.class);intent.putExtra("enum", YourEnum.TYPE1);

get

intent.getXxxExtra(String key);//从Intent中按key取出指定类型的数据,例如getStringExtra(),取出String类型数据

示例:

Intent intent = getIntent();YourEnum TYPE1 = (YourEnum ) intent.getSerializableExtra("enum");

方法二:

使用Bundle对象的方法存入数据:

put

bundle.putXxx(String key , Xxx data) ; //向Bundle放入Int、String各种数据类型bundle.putSerializable(String key , Seralizable data) //向Bundle放入一个可序列化的对象,例如:enum

示例:

Intent intent = new Intent(MainActivity.this,OtherActivity.class);Bundle bundle = new Bundle();bundle.putSerializable("enum", YourEnum.TYPE1);intent.putExtras(bundle);     //将bundle传入intent中。

get

bundle.getXxx(String key);//从Bundle取出Int、String等各种类型的数据bundle.gutSerializable(String key ) //从Bundle取出一个可序列化的对象,例如:enum

示例:

Intent intent = getIntent();Bundle bundle = intent.getExtras();YourEnum TYPE1 = (YourEnum ) bundle.get("enum");//这时使用get()取出一个Object类型的对象,可以进行强制类型转化。

更多相关文章

  1. “罗永浩抖音首秀”销售数据的可视化大屏是怎么做出来的呢?
  2. Nginx系列教程(三)| 一文带你读懂Nginx的负载均衡
  3. 不吹不黑!GitHub 上帮助人们学习编码的 12 个资源,错过血亏...
  4. android简单的多人聊天程序--借助Bmob后台数据库
  5. Android(安卓)popupwindow 示例程序一
  6. NDK Mediacodec
  7. Android(安卓)使用MediaPlayer播放本地视频
  8. Android(安卓)Setting网络配置界面,删除已隐藏UI的快速搜索
  9. android数据五种存储

随机推荐

  1. android 如何调用系统拨打电话的功能
  2. QQ For Android试用
  3. Android(安卓)ContentResolver 内容解析
  4. 2020版本Android(安卓)开发者学习路线(热
  5. 基于Android的谷歌地图地理围栏功能开发
  6. 安卓开发中开关按钮ToggleButton和开关Sw
  7. Android类加载器以及与Java类加载器区别
  8. Android的两种数据存储方式分析(二)
  9. android sip协议通话实现
  10. 安卓开发者平台(巨卓网)