android中用Intent传数据,如果用传递的是一个类,就将类实现Parcelable接口
Posted 陈炳序的Blog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android中用Intent传数据,如果用传递的是一个类,就将类实现Parcelable接口相关的知识,希望对你有一定的参考价值。
Parcelable,内存单位,跨进程使用,或者intent传递对象的时候使用。
android中用Intent传数据,如果用传递的是一个对象,就将对象实现Parcelable接口,而不是将对象序列化。
/** * 预登记 出席领导回传给预登记页面 Javabean * Created by COCO on 2017/3/4. */ public class GovernmentTakeLeaderInfo implements Parcelable{//Parcelable,内存单位,跨进程使用,或者intent传递对象的时候使用 private String name; private String leaderId; //默认构造函数 要加上 public GovernmentTakeLeaderInfo(){}; protected GovernmentTakeLeaderInfo(Parcel in) { name = in.readString(); leaderId = in.readString(); } public static final Creator<GovernmentTakeLeaderInfo> CREATOR = new Creator<GovernmentTakeLeaderInfo>() { @Override public GovernmentTakeLeaderInfo createFromParcel(Parcel in) { return new GovernmentTakeLeaderInfo(in); } @Override public GovernmentTakeLeaderInfo[] newArray(int size) { return new GovernmentTakeLeaderInfo[size]; } }; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getLeaderId() { return leaderId; } public void setLeaderId(String leaderId) { this.leaderId = leaderId; } @Override public int describeContents() { return 0; } @Override public void writeToParcel(Parcel dest, int flags) { dest.writeString(name); dest.writeString(leaderId); } }
以上是要用intent传递的数据。
在用Intent传递的时候要调用ParcelableArrayListExtra相关方法。例如在回传数据的时候:
Intent intent = getIntent(); intent.putParcelableArrayListExtra("data_return", data);//跨进程使用,或者intent传递对象的时候使用 setResult(RESULT_OK, intent);
在接收数据的时候:
以上是关于android中用Intent传数据,如果用传递的是一个类,就将类实现Parcelable接口的主要内容,如果未能解决你的问题,请参考以下文章
android Intent传递数据时,哪些类型的数据可以被传递。