public interface Parcelable
Parcel
. Classes implementing the Parcelable
interface must also have a static field called CREATOR
, which
is an object implementing the Parcelable.Creator
interface.
A typical implementation of Parcelable is:
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(); } }
Modifier and Type | Interface and Description |
---|---|
static interface |
Parcelable.ClassLoaderCreator<T>
Specialization of
Parcelable.Creator that allows you to receive the
ClassLoader the object is being created in. |
static interface |
Parcelable.Creator<T>
Interface that must be implemented and provided as a public CREATOR
field that generates instances of your Parcelable class from a Parcel.
|
Modifier and Type | Field and Description |
---|---|
static int |
CONTENTS_FILE_DESCRIPTOR
Bit masks for use with
describeContents() : each bit represents a
kind of object considered to have potential special significance when
marshalled. |
static int |
PARCELABLE_WRITE_RETURN_VALUE
Flag for use with
writeToParcel(android.os.Parcel, int) : the object being written
is a return value, that is the result of a function such as
"Parcelable someFunction() ",
"void someFunction(out Parcelable) ", or
"void someFunction(inout Parcelable) ". |
Modifier and Type | Method and Description |
---|---|
int |
describeContents()
Describe the kinds of special objects contained in this Parcelable's
marshalled representation.
|
void |
writeToParcel(Parcel dest,
int flags)
Flatten this object in to a Parcel.
|
static final int PARCELABLE_WRITE_RETURN_VALUE
writeToParcel(android.os.Parcel, int)
: the object being written
is a return value, that is the result of a function such as
"Parcelable someFunction()
",
"void someFunction(out Parcelable)
", or
"void someFunction(inout Parcelable)
". Some implementations
may want to release resources at this point.static final int CONTENTS_FILE_DESCRIPTOR
describeContents()
: each bit represents a
kind of object considered to have potential special significance when
marshalled.int describeContents()
void writeToParcel(Parcel dest, int flags)
dest
- The Parcel in which the object should be written.flags
- Additional flags about how the object should be written.
May be 0 or PARCELABLE_WRITE_RETURN_VALUE
.