zoukankan      html  css  js  c++  java
  • android activity传递实体类对象

    通过实现Parcelable接口序列化对象的步骤:

    1、实现Parcelable接口。
    2、并且实现Parcelable接口的public
     void writeToParcel(Parcel dest, int flags)方法 。
    3、自定义类型中必须含有一个名称为CREATOR的静态成员,该成员对象要求实现Parcelable.Creator接口及其方法。

    public class Person implements Parcelable {
     
        public static final Parcelable.Creator<Person> CREATOR = new Creator<Person>() {
     
            @Override
            public Person[] newArray(int size) {
                return null;
            }
     
            @Override
            public Person createFromParcel(Parcel source) {
                Person result = new Person();
                result.age = source.readInt();
                result.name = source.readString();
                result.address = source.readParcelable(Address.class.getClassLoader());
                return result;
            }
        };
        private Address address;
        private String name;
        private int age;
     
        @Override
        public int describeContents() {
            return 0;
        }
     
        public Address getAddress() {
            return address;
        }
     
        public void setAddress(Address address) {
            this.address = address;
        }
     
        @Override
        public void writeToParcel(Parcel dest, int flags) {
            dest.writeInt(age);
            dest.writeString(name);
            dest.writeParcelable(address, PARCELABLE_WRITE_RETURN_VALUE);
        }
     
        public String getName() {
            return name;
        }
     
        public void setName(String name) {
            this.name = name;
        }
     
        public int getAge() {
            return age;
        }
     
        public void setAge(int age) {
            this.age = age;
        }
     
        @Override
        public String toString() {
            return "Person [address=" + address + ", name=" + name + ", age=" + age
                    + "]";
        }
     
    }

    传递实体类:

    Bundle bundle = new Bundle();
    // bundle.putSerializable(TITLE, title);
    bundle.putParcelable(TITLE, title);
    context.startActivity(new Intent(context, target).putExtras(bundle));

    接收:

    mCollectParamObj = (CollectParamObj) getIntent().getParcelableExtra(
    "title");

  • 相关阅读:
    企业网站常用中英文对照表
    AttachJSFunction(一个button同时挂两个onclick事件)
    Js 整理
    宝玉的CSS
    网页中一些比较隐蔽的用法 作者:wbc
    flex中flexgrow作用
    flex实现换行内容上下贴边效果
    flex中自动换行设置,以及上下间距的设置?
    flex中aligncontent和aliginitems区别?
    正则表达式语法及实例整理[转]
  • 原文地址:https://www.cnblogs.com/zhaoleigege/p/4997090.html
Copyright © 2011-2022 走看看