当前位置: 代码迷 >> Android >> 关于 android Intent 传对象跟对象数组的一些操作
  详细解决方案

关于 android Intent 传对象跟对象数组的一些操作

热度:33   发布时间:2016-04-28 07:51:21.0
关于 android Intent 传对象和对象数组的一些操作

直接开正题,Intent传递值就是平常那些很简单的,接下来介绍传递 对象,和 对象数组


1 .intent 传递自定义的 对象 -

实体类继承  Serializable

public class AA implements Serializable{	public String  a;	public String  aa;	public String  aaa;		}

intent塞入数据端

					AA a = new AA();				a.a="a";				a.aa ="aa";				a.aaa = "aaa";								Intent in = new Intent().setClass(MainActivity.this, MainActivity1.class);				Bundle bu = new Bundle();				bu.putSerializable("enty", a);				in.putExtras(bu);				startActivity(in);

intent 接收数据端

 	AA a =(AA)this.getIntent().getExtras().getSerializable("enty");    	System.out.println("a.a ="+  app.a);       	System.out.println("a.aa ="+  app.aa);       	System.out.println("a.aaa ="+  app.aaa);



实体类类继承  Parcelable

public class AA implements Parcelable{	public String  a;	public String  aa;	public String  aaa;	@Override	public int describeContents() {		return 0;	}	@Override	public void writeToParcel(Parcel parcel, int flags) {				parcel.writeString(a);		parcel.writeString(aa);		parcel.writeString(aaa);			}		public static final Parcelable.Creator<AA> CREATOR  = new Creator<AA>(){		@Override		public AA createFromParcel(Parcel source) {			AA app=  new AA();			app.a = source.readString();			app.aa = source.readString();			app.aaa = source.readString();			return app;		}		@Override		public AA[] newArray(int size) {			return new AA[size];		}			};}
intent塞入数据端

	                        AA a = new AA();				a.a="a";				a.aa ="aa";				a.aaa = "aaa";								Intent in = new Intent().setClass(MainActivity.this, MainActivity1.class);				Bundle bu = new Bundle();				bu.putParcelable("enty", a);				in.putExtras(bu);				startActivity(in);
接收数据端

 // 可以这样app =(AA)this.getIntent().getParcelableExtra("enty");			//也可以这样写,上面的也是			app =(AA)this.getIntent().getExtras().getParcelable("enty");			System.out.println("a.a ="+  app.a);	       	System.out.println("a.aa ="+  app.aa);	       	System.out.println("a.aaa ="+  app.aaa);


2。 下来是 自定义对象 数组传递

实体类类继承  Parcelable

intent塞入数据端

                      List<AA> list_aa =new ArrayList<AA>();				AA a = new AA();				a.a="a";				a.aa ="aa";				a.aaa = "aaa";				                           AA a1 = new AA();				a1.a="a1";				a1.aa ="aa1";				a1.aaa = "aaa1";								list_aa.add(a);				list_aa.add(a1);					Intent in = new Intent().setClass(MainActivity.this, MainActivity1.class);				Bundle bu = new Bundle();				bu.putParcelableArrayList("list", (ArrayList<? extends Parcelable>) list_aa);  //---				in.putExtras(bu);				startActivity(in);
接收list数据端

List<AA> aa =this.getIntent().getExtras().getParcelableArrayList("list");						for (AA aa2 : aa) {				System.out.println("list_a.a = "+ aa2.a);				System.out.println("list_a.aa = "+ aa2.aa);				System.out.println("list_a.aaa = "+ aa2.aaa);				System.out.println("=================================");							}





1楼u01196040253分钟前
嗯,不错
  相关解决方案