Parcelable接口
2016-07-27 11:03
274 查看
1. Parcelable接口
Interface for classes whose instances can be written to
and restored from a Parcel. Classes implementing the Parcelable
interface must also have a static field called CREATOR, which
is an object implementing the Parcelable.Creator Parcelable.Creator
interface.
2.接口定义
public interface Parcelable {
public static final int PARCELABLE_WRITE_RETURN_VALUE = 0x0001;
public static final int CONTENTS_FILE_DESCRIPTOR = 0x0001;
public int describeContents();
public void writeToParcel(Parcel dest, int flags);
public interface Creator<T> {
public T createFromParcel(Parcel source);
public T[] newArray(int size);
}
public interface ClassLoaderCreator<T> extends Creator<T> {
public T createFromParcel(Parcel source, ClassLoader loader);
}
}
3.接口实现例子
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();
}
}
Interface for classes whose instances can be written to
and restored from a Parcel. Classes implementing the Parcelable
interface must also have a static field called CREATOR, which
is an object implementing the Parcelable.Creator Parcelable.Creator
interface.
2.接口定义
public interface Parcelable {
public static final int PARCELABLE_WRITE_RETURN_VALUE = 0x0001;
public static final int CONTENTS_FILE_DESCRIPTOR = 0x0001;
public int describeContents();
public void writeToParcel(Parcel dest, int flags);
public interface Creator<T> {
public T createFromParcel(Parcel source);
public T[] newArray(int size);
}
public interface ClassLoaderCreator<T> extends Creator<T> {
public T createFromParcel(Parcel source, ClassLoader loader);
}
}
3.接口实现例子
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();
}
}
相关文章推荐
- 1088. Rational Arithmetic (20)
- 浅解:iOS应用程序中的性能优化
- FloatingActionButton 完全解析[Design Support Library(2)]
- Linux 学习笔记之 CentOS7 安装
- 如何理解闭包(摘录网友的文章)
- 事务路线图
- Linux中命令历史history及man帮助手册的相关理解和使用
- Html-布局基础记录
- 如何下载高德电子地图
- OpenCV Core模块
- 杭电ACM1049的解题报告
- 数据结构实验之链表七:单链表中重复元素的删除 sdutoj2122
- 查看系统端口占用
- [置顶] 关于微信公众号开发的Token验证失败该如何解决?
- C#向线程中传递多个参数的解决方法(两种)
- 1089 A+B for Input-Output Practice (I)
- 页面上对于两个selelct实现联动的效果
- 数据结构实验之栈四:括号匹配
- CodeForces 540C--自带标记的四方向搜索
- eclipse注释没生效解决方法