关于在Intent中传递对象的两种方法之一Parcelable
来源:互联网 发布:最优化算法有哪些 编辑:程序博客网 时间:2024/04/29 03:06
先看android development给的示例:
public class MyParcelable implements Parcelable { private int mData; public int describeContents() { return 0; } public void writeToParcel(Parcel out, int flags) { out.writeInt(mData); } public static final Parcelable.Creator<MyParcelable> CREATOR = new Parcelable.Creator<MyParcelable>() { public MyParcelable createFromParcel(Parcel in) { return new MyParcelable(in); } public MyParcelable[] newArray(int size) { return new MyParcelable[size]; } }; private MyParcelable(Parcel in) { mData = in.readInt(); } }这几个方法是必须实现的,该示例中仅有一个类型,即int;
对于复杂的类型怎么处理呢?
如果是boolean类型:可以写成这样:
在writeToParcel方法中这样写:
dest.writeString(Boolean.toString(favorited));
在privateMyParcelable(Parcelin)方法中这样写:
favorited = Boolean.parseBoolean(in.readString());
而Arraylist类型则这样:而且Pic_Url这个类也必须继承Parcelable;
pic_Urls = in.readArrayList(Pic_Url.class.getClassLoader());
dest.writeList(pic_Urls);
Date类型可以这么做:
dest.writeLong(created_at.getTime());
created_at = new Date(in.readLong());
对象User可以这么做:而且User这个类也必须继承Parcelable;
user = in.readParcelable(User.class.getClassLoader());
dest.writeParcelable(user, flags);
List<String>类型可以这么做:
dest.writeStringList(pic_Urls);
pic_Urls= in.readArrayList(String.class.getClassLoader());
以上做法,个人试了可行
- 关于在Intent中传递对象的两种方法之一Parcelable
- Intent传递对象的两种方法(Serializable,Parcelable)
- Intent传递对象的两种方法Serializable 和 Parcelable
- Intent传递对象的两种方法(Serializable,Parcelable)
- Intent传递对象的两种方法(Serializable,Parcelable)
- Android中Intent传递对象的两种方法(Serializable,Parcelable)
- Android中Intent传递对象的两种方法(Serializable,Parcelable
- Android中Intent传递对象的两种方法(Serializable,Parcelable
- Android中Intent传递对象的两种方法(Serializable,Parcelable)
- Android高手进阶教程(十六)---Android中Intent传递对象的两种方法(Serializable,Parcelable)!
- Android中Intent传递对象的两种方法(Serializable,Parcelable)!
- Android中Intent传递对象的两种方法(Serializable,Parcelable)
- Android中Intent传递对象的两种方法(Serializable,Parcelable)!
- Android中Intent传递对象的两种方法(Serializable,Parcelable)
- Android中Intent传递对象的两种方法(Serializable,Parcelable)
- Android中Intent传递对象的两种方法(Serializable,Parcelable)
- Android中Intent传递对象的两种方法(Serializable,Parcelable)
- Android中Intent传递对象的两种方法(Serializable,Parcelable)
- White Elephant:开发者必备的Hadoop利器
- The import java.util cannot be resolved
- Linux/UNIX脚本编程学习笔记(0717、0718)
- Quartz定时框架时间配置参数
- 14-单马对单象和棋
- 关于在Intent中传递对象的两种方法之一Parcelable
- Remove Duplicates from Sorted List II
- Largest Rectangle in Histogram
- SPI总线
- 数据文件位置移动
- JavaScript中的逻辑与
- WinCE虚拟串口驱动(一)
- Python学习笔记(八):Python语句简介、赋值、表达式和打印
- WinCE虚拟串口驱动(二)