Android Activity之间传递非原始数据类型

         Activity之间传递原始的数据类型很简单,只要在Activity之间的跳转的时候使用Intent携带bundle数据即可,但是这些只能是传递原始的数据类型,如float,Int,String等原始的数据类型,无法传递自定的数据类型,

       但是android的设计者却早已经把这个东西想到了,就是在bundle中的两个方法,一个是putSerilizeble(),一个是putLongArray(),这两个方法能够实现对自定义的数据类型进行序列化传递。

       但是对对自定义的数据类型进行传递的时候必须先进行序列化操作,也就是自定义的数据必须继承Serilizeble接口或者是Parcelable接口,两个接口的差别是前者是Java语言中就有的,后者是android单独设计的,都是进行序列化操作

      可以使用bundle的putSerilizeble(String,Serilizeble)数据,或者是intent的putExtrr(String,Serizlizable)数据,如果自定义的数据类型里面嵌套了其他的数据类型的话,则必须要实现上面两个接口中的其中一个,否则将会报错。

       示例代码如下:

public void onItemClick(AdapterView<?> arg0, View arg1, int position, long id){

  1.  WeiboListItem single_info=weibolist.get(position);  
  2.             Intent intent=new Intent(Test.this,Single_view.class);  
  3.             Bundle mbundle=new Bundle();  
  4.             mbundle.putSerializable("single_info", single_info);  
  5.             intent.putExtras(mbundle);  
  6.             //intent.putExtra("single_info", single_info);  
  7.             startActivity(intent);</span>  

}

    自定义数据:

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;//用户UID
private String screen_name;//昵称
private String location;//所在地
private String description;//描述
private String avatar_large;//大头像
private String verified_reason ;//认证原因
private String gender;//性别

}

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



转载自:http://blog.csdn.net/ziyanguang1989/article/details/7840456

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值