Parcelable数组不在活动之间传递

时间:2012-12-27 22:58:43

标签: android

所以,我遇到了在两个活动之间传递Parcelable数组的问题。出于某种原因,应用程序在加载我正在调用的活动之前就会爆炸。

这是我想要传递的对象。

import android.os.Parcel;
import android.os.Parcelable;

public class Inventory implements Parcelable{
public String inventory_id = "" ;
public String vin = "" ;
public String stock = "" ;
public String new_used = "" ;
public String certified = "" ;
public String mileage = "" ;

public Inventory() {}

@Override
public int describeContents() {
    return 0;
}

@Override
public void writeToParcel(Parcel dest, int flags) {
    dest.writeString(inventory_id);
    dest.writeString(vin);
    dest.writeString(stock);
    dest.writeString(new_used);
    dest.writeString(certified);
    dest.writeString(mileage);
}

public Inventory(Parcel source){
    inventory_id = source.readString();
    vin = source.readString();
    stock = source.readString();
    new_used = source.readString();
    certified = source.readString();
    mileage = source.readString();
}

public static final Parcelable.Creator<Inventory> CREATOR = new  Parcelable.Creator<Inventory>() {

    public Inventory createFromParcel(Parcel source) {
        return new Inventory(source);
    }

    public Inventory[] newArray(int size) {
        return new Inventory[size];
    }
};    
}

这是我传递它的行

Intent intent = new Intent(this, Activity2.class);
intent.putParcelableArrayListExtra("invList", invList); //This is a list of inventory objects.
startActivity(intent);

此代码从不加载Activity2。我可以在Activity 2中的onCreate方法中创建一个调试点,它永远不会被调用。如果我注释掉 intent.putParcelableArrayListExtra(“invList”,invList); ,Activity2会加载,但当我到达需要invList的行时当然会爆炸,这让我相信某事正在发生活动之间的Parcelable对象。我的LogCat中什么都没有。它只是重新加载Activity1。

任何帮助都将不胜感激。

0 个答案:

没有答案