IParcelable 接口

定义

类的接口,这些类的实例可以写入并从中还原 Parcel

[Android.Runtime.Register("android/os/Parcelable", "", "Android.OS.IParcelableInvoker")]
public interface IParcelable : Android.Runtime.IJavaObject, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("android/os/Parcelable", "", "Android.OS.IParcelableInvoker")>]
type IParcelable = interface
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
派生
属性
实现

注解

类的接口,这些类的实例可以写入并从中还原 Parcel。 实现 Parcelable 接口的类还必须具有一个非 null 公共静态字段,该字段的类型为 CREATOR 实现接口 Parcelable.Creator

Parcelable 的典型实现是:

<div><div class=“ds-selector-tabs”><section><h3 id=“kotlin”>Kotlin</h3>

class MyParcelable private constructor(`in`: Parcel) : Parcelable {
                private val mData: Int = `in`.readInt()

                override fun describeContents(): Int {
                    return 0
                }

                override fun writeToParcel(out: Parcel, flags: Int) {
                    out.writeInt(mData)
                }

                companion object CREATOR: Parcelable.Creator&lt;MyParcelable?&gt; {
                    override fun createFromParcel(`in`: Parcel): MyParcelable? {
                        return MyParcelable(`in`)
                    }

                    override fun newArray(size: Int): Array&lt;MyParcelable?&gt; {
                        return arrayOfNulls(size)
                    }
                }
            }

</section><section><h3 id=“java”>Java</h3>

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&lt;MyParcelable&gt; CREATOR
                        = new Parcelable.Creator&lt;MyParcelable&gt;() {
                    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();
                }
            }

</section></div></div>

android.os.ParcelableJava 文档。

此页面的某些部分是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的条款使用。

字段

ContentsFileDescriptor

#describeContents()一起使用的描述符位:指示 Parcelable 对象的平展表示形式包括文件描述符。

属性

Handle

获取基础 Android 对象的 JNI 值。

(继承自 IJavaObject)
JniIdentityHashCode

返回包装实例的 的值 java.lang.System.identityHashCode()

(继承自 IJavaPeerable)
JniManagedPeerState

托管对等方的状态。

(继承自 IJavaPeerable)
JniPeerMembers

成员访问和调用支持。

(继承自 IJavaPeerable)
PeerReference

返回 JniObjectReference 包装的 Java 对象实例的 。

(继承自 IJavaPeerable)

方法

DescribeContents()

描述此 Parcelable 实例的封送表示形式中包含的特殊对象的种类。

Disposed()

在释放实例时调用。

(继承自 IJavaPeerable)
DisposeUnlessReferenced()

如果没有对此实例的未完成引用,则调用 Dispose();否则不执行任何操作。

(继承自 IJavaPeerable)
Finalized()

在实例完成时调用。

(继承自 IJavaPeerable)
SetJniIdentityHashCode(Int32)

设置 返回 JniIdentityHashCode的值。

(继承自 IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

类的接口,这些类的实例可以写入并从中还原 Parcel

(继承自 IJavaPeerable)
SetPeerReference(JniObjectReference)

设置 返回 PeerReference的值。

(继承自 IJavaPeerable)
UnregisterFromRuntime()

取消注册此实例,以便运行时不会从将来 Java.Interop.JniRuntime+JniValueManager.PeekValue 的调用中返回它。

(继承自 IJavaPeerable)
WriteToParcel(Parcel, ParcelableWriteFlags)

将此对象平展到一个地块。

扩展方法

JavaCast<TResult>(IJavaObject)

执行 Android 运行时检查的类型转换。

JavaCast<TResult>(IJavaObject)

类的接口,这些类的实例可以写入并从中还原 Parcel

GetJniTypeName(IJavaPeerable)

类的接口,这些类的实例可以写入并从中还原 Parcel

适用于