设为首页 加入收藏

TOP

Parcelable序列化的使用,关于intent.getParcelableArrayExtra的使用
2017-10-13 10:19:27 】 浏览:5174
Tags:Parcelable 序列化 使用 关于 intent.getParcelableArrayExtra
Parcelable相较于Serializable的效率更高

 

public class ChargeMode implements Parcelable{
    public String name;
    public int playway;
    public String price;
    public String validTime;
    public ChargeMode(){
        
    }
    private ChargeMode(Parcel in){
        name = in.readString();
        playway = in.readInt();
        price = in.readString();
        validTime = in.readString();
    }
    @Override
    public int describeContents() {
        return 0;
    }
    @Override
    public void writeToParcel(Parcel dest, int flags) {
        dest.writeString(name);
        dest.writeInt(playway);
        dest.writeString(price);
        dest.writeString(validTime);            
    }
    public static final Creator<ChargeMode> CREATOR = new Creator<ChargeMode>() {
        
        @Override
        public ChargeMode[] newArray(int size) {
            return new ChargeMode[size];
        }
        
        @Override
        public ChargeMode createFromParcel(Parcel source) {
            return new ChargeMode(source);
        }
    };
}

 

 

存入序列化的数组
Intent intent = new Intent(MovieSynopsis.this, PaymentActivity.class); intent.putExtra(Constant.CHARGE_MODE, chargeModes);//存入ChargeMode[]
startActivity(intent);

 

取出ChargeMode[]的值时,必须先是Parcelable[],之后再转换成ChargeMode[]
Parcelable[] mChargeModes=intent.getParcelableArrayExtra(Constant.CHARGE_MODE);

ChargeMode chargeModes=(ChargeMode) mChargeModes[0];

 

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Android 6.0 运行时权限处理 下一篇阶段一:用Handler和Message实现..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目