首页 > 移动平台 > 详细

android中用Intent传数据,如果用传递的是一个类,就将类实现Parcelable接口

时间:2017-04-18 19:01:47      阅读:220      评论:0      收藏:0      [点我收藏+]
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接口

原文:http://www.cnblogs.com/cbx17v/p/6729233.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!