Android中如何实现两个Activity中传递自定义数据

在开发中,本人遇到这样问题想在两个activity之间传递某个自定义类对象,但是使用Bundle发现里面只能传送已经封装好的int,float,String等类型,自定义的类无法发送。

后来上网查阅相关资料发现Bundle中有这两个方法putSerializable()和putLongArray()两个方法对自定义数据进行序列化即可实现所希望的功能。

需要注意的是你所传递的自定义数据必须implements Serializable或者Parcelable接口,可以用bundle putSerializable(String,Serizlizable)数据或者直接用intent putExtrr(String,Serizlizable)数据。如果该自定义数据里面嵌套了其他自定义数据类型,则必须都要implements Serializable或者Parcelable接口才行,不然会报错...


贴上部分源码:

	public void onItemClick(AdapterView<?> arg0, View arg1, int position,				long id) {			// TODO Auto-generated method stub					WeiboListItem single_info=weibolist.get(position);			Intent intent=new Intent(Test.this,Single_view.class);			Bundle mbundle=new Bundle();			mbundle.putSerializable("single_info", single_info);			intent.putExtras(mbundle);			//intent.putExtra("single_info", single_info);			startActivity(intent);

自定义数据:

public class WeiboListItem implements Serializable{//继承序列化的类主要是为了方便activity之间传递weiboInfo对象public static final long serialVersionUID = 1L;private String time;private String text;private String source;private String reposts_count;private String comments_count;private UserInfo user;

嵌套数据类型:

public class UserInfo implements Serializable {private static final long serialVersionUID = -609747215688061510L;private String id;//用户UIDprivate String screen_name;//昵称private String location;//所在地private String description;//描述private String avatar_large;//大头像private String verified_reason ;//认证原因private String gender;//性别

以上是用继承Serializable来实现的,至于继承Parcelable接口方法类似...



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值