关于 android Intent 传对象跟对象数组的一些操作
关于 android Intent 传对象和对象数组的一些操作
intent塞入数据端
intent 接收数据端


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

直接开正题,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分钟前
- 嗯,不错