创建宗地对象的副本

Bri*_*ani 3 android parcelable

我正在使用parcel对象将值从一个进程传递到另一个进程.我想创建一个parcel对象的克隆,但我无法使用clone()方法如果有人知道如何创建parcel的副本,请提供解决方案.

Lio*_*ior 16

建议的解决方案不完整,无法使用.

这是一个有效的解决方案:

(我有一个名为MessageDescriptor的消息的对象,我想要克隆)

Parcel parcel = Parcel.obtain();
message.writeToParcel(parcel, 0);
parcel.setDataPosition(0);
MessageDescriptor messageToBeSent = MessageDescriptor.CREATOR.createFromParcel(parcel);
parcel.recycle();
Run Code Online (Sandbox Code Playgroud)


Jef*_*elt 5

假设您的对象实现了Parcelable接口,您应该能够执行以下操作:

SomethingParcelable myObject = new SomethingParcelable();

Parcel p = Parcel.obtain();
myObject.writeToParcel(p, 0);

//must be called after unmarshalling your data.
p.setDataPosition(0);

SomethingParcelable myClonedObject = SomethingParcelable.CREATOR.createFromParcel(p);
Run Code Online (Sandbox Code Playgroud)