尝试读取Parcel String []的NullPointerException

时间:2012-05-26 20:37:17

标签: java android parcelable

当我在Parcel创建对象时尝试回读String[]时,我收到NullPointerException。这是我的代码:

@Override
public void writeToParcel(Parcel out, int flags) {
    out.writeInt(floors);
    out.writeStringArray(indoorMaps);

}

public static final Parcelable.Creator<Building> CREATOR
    = new Parcelable.Creator<Building>() {
    public Building createFromParcel(Parcel in) {
        return new Building(in);
    }

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

private Building(Parcel in) {   
    floors = in.readInt();
    in.readStringArray(indoorMaps);
}

所以indoorMaps是我班级的一个属性,它是一个String[],但是我得到了NullPointerException。我检查了dev's documentation,但那里什么都没有。 我跟着this tutorial,他们正在那里使用readStringArray

有什么建议吗?感谢

1 个答案:

答案 0 :(得分:12)

在致电Parcel时,您正在给null一个readStringArray数组。要使其正常工作,您必须初始化indoorMaps。您可能需要createStringArray