IParcelable 接口
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
类的接口,这些类的实例可以写入并从中还原 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<MyParcelable?> {
override fun createFromParcel(`in`: Parcel): MyParcelable? {
return MyParcelable(`in`)
}
override fun newArray(size: Int): Array<MyParcelable?> {
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<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();
}
}
</section></div></div>
的 android.os.Parcelable
Java 文档。
此页面的某些部分是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的条款使用。
字段
ContentsFileDescriptor |
与 |
属性
Handle |
获取基础 Android 对象的 JNI 值。 (继承自 IJavaObject) |
JniIdentityHashCode |
返回包装实例的 的值 |
JniManagedPeerState |
托管对等方的状态。 (继承自 IJavaPeerable) |
JniPeerMembers |
成员访问和调用支持。 (继承自 IJavaPeerable) |
PeerReference |
返回 JniObjectReference 包装的 Java 对象实例的 。 (继承自 IJavaPeerable) |
方法
DescribeContents() |
描述此 Parcelable 实例的封送表示形式中包含的特殊对象的种类。 |
Disposed() |
在释放实例时调用。 (继承自 IJavaPeerable) |
DisposeUnlessReferenced() |
如果没有对此实例的未完成引用,则调用 |
Finalized() |
在实例完成时调用。 (继承自 IJavaPeerable) |
SetJniIdentityHashCode(Int32) |
设置 返回 |
SetJniManagedPeerState(JniManagedPeerStates) |
类的接口,这些类的实例可以写入并从中还原 |
SetPeerReference(JniObjectReference) |
设置 返回 |
UnregisterFromRuntime() |
取消注册此实例,以便运行时不会从将来 Java.Interop.JniRuntime+JniValueManager.PeekValue 的调用中返回它。 (继承自 IJavaPeerable) |
WriteToParcel(Parcel, ParcelableWriteFlags) |
将此对象平展到一个地块。 |
扩展方法
JavaCast<TResult>(IJavaObject) |
执行 Android 运行时检查的类型转换。 |
JavaCast<TResult>(IJavaObject) |
类的接口,这些类的实例可以写入并从中还原 |
GetJniTypeName(IJavaPeerable) |
类的接口,这些类的实例可以写入并从中还原 |