Share via


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.Creator 介面之類型的非 Null 公用靜態欄位 CREATOR

一般可轉送實作為:

<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 區 >< 段 >< 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.Parcelable JAVA 檔。

此頁面的部分是根據 原始碼專案所建立和共用的工作進行修改,並根據中所述的詞彙使用。

欄位

ContentsFileDescriptor

與 搭配 #describeContents() 使用的描述元位:表示可合併物件的扁平化標記法包含檔案描述元。

屬性

Handle

取得基礎 Android 物件的 JNI 值。

(繼承來源 IJavaObject)
JniIdentityHashCode

傳回包裝實例的 java.lang.System.identityHashCode() 值。

(繼承來源 IJavaPeerable)
JniManagedPeerState

受控對等的狀態。

(繼承來源 IJavaPeerable)
JniPeerMembers

成員存取和調用支援。

(繼承來源 IJavaPeerable)
PeerReference

JniObjectReference 回已包裝 JAVA 物件實例的 。

(繼承來源 IJavaPeerable)

方法

DescribeContents()

描述這個可壓縮實例封送處理標記法中包含的特殊物件種類。

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

適用於