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 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>

Документация по Java для android.os.Parcelable.

Части этой страницы являются изменениями, основанными на работе, созданной и совместно используемой проектом Android и используемой в соответствии с условиями, Creative Commons 2.5 Attribution License.

Поля

ContentsFileDescriptor

Бит дескриптора, используемый с #describeContents():, указывает, что плоское представление объекта Parcelable включает дескриптор файла.

Свойства

Handle

Возвращает значение JNI базового объекта Android.

(Унаследовано от 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)

Разведите этот объект в плоскую структуру в объект Parcel.

Методы расширения

JavaCast<TResult>(IJavaObject)

Выполняет преобразование типа, проверенного средой выполнения Android.

JavaCast<TResult>(IJavaObject)

Интерфейс для классов, экземпляры которых могут быть записаны в и восстановлены Parcelиз .

GetJniTypeName(IJavaPeerable)

Интерфейс для классов, экземпляры которых могут быть записаны в и восстановлены Parcelиз .

Применяется к