实现Parcelable的bean中有数组对象
2016-08-03 14:03
253 查看
package com.whu.travel_whu.bean; import android.os.Parcel; import android.os.Parcelable; /** * Created by Fly on 2016/8/2. */ public class ScenicSpot implements Parcelable{ private String name; private String address; private float point; private String[] imageUrls; public ScenicSpot(){ } public ScenicSpot(String name, String address, float point, String[] imageUrls){ this.name = name; this.address = address; this.point = point; this.imageUrls = imageUrls; } protected ScenicSpot(Parcel in) { name = in.readString(); address = in.readString(); point = in.readFloat(); int size = in.readInt(); if(size > 0) { imageUrls = new String[size]; in.readStringArray(imageUrls); } } public static final Creator<ScenicSpot> CREATOR = new Creator<ScenicSpot>() { @Override public ScenicSpot createFromParcel(Parcel in) { return new ScenicSpot(in); } @Override public ScenicSpot[] newArray(int size) { return new ScenicSpot[size]; } }; @Override public int describeContents() { return 0; } @Override public void writeToParcel(Parcel dest, int flags) { dest.writeString(name); dest.writeString(address); dest.writeFloat(point); if(imageUrls == null){ dest.writeInt(0); }else { dest.writeInt(imageUrls.length); } if(null != imageUrls){ dest.writeStringArray(imageUrls); } } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public String[] getImageUrls() { return imageUrls; } public void setImageUrls(String[] imageUrls) { this.imageUrls = imageUrls; } public String getName() { return name; } public void setName(String name) { this.name = name; } public float getPoint() { return point; } public void setPoint(float point) { this.point = point; } }
writeToParcel(Parcel dest, int flags)中写入的顺序要与ScenicSpot(Parcel in)读取的顺序一致。
在写入数组时,要先new一个对象,不然会报空指针错误。
相关文章推荐
- 【整理】.Net Framework3.5之隐式类型的本地变量和数组、对象初始值设定项、集合初始值设定项、自动实现的属性和匿名类型
- 模拟jQuery实现类数组对象
- 集合和数组保存对象的引用变量(区别C++的STL实现)
- Spring获取Bean对象以及依赖注入的实现原理
- 如何实现自定义类对象数组的排序
- javascript用arguments数组对象实现参数变量可变的函数
- js实现数组去重,判断数组、对象中的内容是否相同
- 前端攻城狮学习笔记一:实现一个遍历数组或对象里所有成员的迭代器
- PHP实现对象或数组生产xml
- 二叉查找数C++ 数组模拟二叉树及面向对象实现
- php中显示数组与对象的实现代码
- Java数组反射实现动态的判断一个对象书否是数组,并且对数组进行拆包输出 。。
- 自己写BeanFactory,实现读取配置文件,并根据发射创建对象。
- JS 实现 创建类、继承、方法添加、对象克隆、数组封装操作
- axis实现webservice 返回对象和数组
- 如何实现自定义类对象数组的排序
- Spring动态的注入Bean对象的实现方式,
- Java数组反射实现动态的判断一个对象书否是数组,并且对数组进行拆包输出 。。
- Android实现Parcelable对象序列化的实例
- android Parcelable 带有数组的对象如何序列化 String[] Long[] int[] Object[]