`
寻梦者
  • 浏览: 624972 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Android使用Intent传递复杂参数及复杂参数列表

 
阅读更多

刚开始一直纠结于Intent只能put像int, String之类的简单参数, 知道最近才发现了一下的方法.

一>, 使用Intent传递实体类对象

首先实体类需要

implements Serializable
然后

 

 

			Intent broadIntent = new Intent();
			Bundle bundle = new Bundle();
			bundle.putInt("flag", C.BroadFlags.Login);
			bundle.putSerializable(C.BroadKey.UserInfo, userInfo);
			broadIntent.putExtras(bundle);
就可以了.

 

 

接收时:

 

RetUserInform userInfo = (RetUserInform) intent
						.getSerializableExtra(C.BroadKey.UserInfo);


 

 

二>, 使用Intent传递复杂参数的List

 

			Intent broadIntent = new Intent();
			broadIntent.setAction("com.ytu.enetmobile.servicesBroadcast");
			Bundle castBundle = new Bundle();
			castBundle.putInt("flag", C.BroadFlags.GetInfo);
			castBundle.putSerializable(C.BroadKey.Info, list.toArray());
			broadIntent.putExtras(castBundle);

接收

 

 

Object[] cobjs = (Object[]) intent.getSerializableExtra(C.BroadKey.Info);
				for(Object obj:cobjs){
					list.add((Info)obj);
				}

同样也要
implements Serializable
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics