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");

  • 相关阅读:
    测试用例设计--边界值
    测试用例设计--等价类划分
    实战JAVA虚拟机 JVM故障诊断与性能优化(八)
    Centos-Mysql远程访问
    实战JAVA虚拟机 JVM故障诊断与性能优化(七)
    实战JAVA虚拟机 JVM故障诊断与性能优化(六)--->JConsole And Visual VM
    实战JAVA虚拟机 JVM故障诊断与性能优化(六)
    jdk 1.8 VisualVM 插件 地址 变更
    实战JAVA虚拟机 JVM故障诊断与性能优化(七)--->无处不在的字符串:String在虚拟机中的实现
    本地git项目,push到github上
  • 原文地址:https://www.cnblogs.com/zhaoleigege/p/4997090.html
Copyright © 2011-2022 走看看