• 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];
  • 相关阅读:
    定时任务(收集)
    命令学习(收集)
    查看进程运行时间
    Linux 中挂载 ISO 文件
    9.已知三边计算三角形的面积公式
    8.输入一个大写字母,要求小写字母输出
    1.输出三个数中的最大值
    2.依次从大到小输出三个数
    3.计算1+2+3+....100=?
    4.计算1*2*3*4........*100=?
  • 原文地址:https://www.cnblogs.com/lipeineng/p/5623901.html
Copyright © 2020-2023  润新知