设为首页 加入收藏

TOP

android中用Intent传数据,如果用传递的是一个类,就将类实现Parcelable接口
2017-10-12 13:28:22 】 浏览:2884
Tags: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]Gradle 插件 DiscardFil.. 下一篇Android开发日常-listVIiew嵌套we..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目