当一个parcelable对象通过一个intent时,它是否会更新并引用原始对象?

use*_*586 4 android android-intent

假设我有一个具有pricetag属性的Product对象.我还有一个商店列表,每个商店都有自己的产品列表.

具体来说,Product p的价格为9.99美元,Store列表中的Store在其产品列表中有p.

我在Android活动中有这个商店列表,我通过意图将Product p传递给另一个活动,然后在新活动中更改该对象的价格.完成此新活动并返回旧活动后,对该对象所做的更改是否反映在商店的产品列表中?

Uda*_*day 9

没有维护引用.包裹是:

可以通过IBinder发送的消息(数据和对象引用)的容器.Parcel可以包含将在IPC的另一侧展开的扁平数据(使用此处用于编写特定类型的各种方法,或通用Parcelable接口),以及对将导致另一方接收的实时IBinder对象的引用代理IBinder与包裹中的原始IBinder连接.

如果你看看任何可以分配的东西,就有一个CREATOR.这创造了一个新的对象Parcel.例如:

 public static final Creator<Employee> CREATOR = new Creator<Employee>() {
    @Override
    public Employee createFromParcel(Parcel in) {
        return new Employee(in);
    }

    @Override
    public Employee[] newArray(int size) {
        return new Employee[size];
    }
};
Run Code Online (Sandbox Code Playgroud)

因此,如果您希望从其他活动返回任何数据,请使用startActivityForResultLawrance提及.