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一个对象,不然会报空指针错误。