public interface Parcelable
Parcel
. Classes implementing the Parcelable
interface must also have a non-null static field called CREATOR
of a type that implements 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
Descriptor bit used with
describeContents() : indicates that
the Parcelable object's flattened representation includes a file descriptor. |
static int |
PARCELABLE_ELIDE_DUPLICATES
Flag for use with
writeToParcel(android.os.Parcel, int) : a parent object will take
care of managing duplicate state/data that is nominally replicated
across its inner data members. |
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
instance's marshaled 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 PARCELABLE_ELIDE_DUPLICATES
writeToParcel(android.os.Parcel, int)
: a parent object will take
care of managing duplicate state/data that is nominally replicated
across its inner data members. This flag instructs the inner data
types to omit that data during marshaling. Exact behavior may vary
on a case by case basis.static final int CONTENTS_FILE_DESCRIPTOR
describeContents()
: indicates that
the Parcelable object's flattened representation includes a file descriptor.describeContents()
,
Constant Field Valuesint describeContents()
writeToParcel(Parcel, int)
,
the return value of this method must include the
CONTENTS_FILE_DESCRIPTOR
bit.CONTENTS_FILE_DESCRIPTOR
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
.