7

当我从ParcelString[]创建对象时尝试回读 a 时,我收到了 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。我已经检查了开发人员的文档,但那里什么都没有。我按照本教程进行操作,他们正在readStringArray那里使用。

有什么建议么?谢谢

4

1 回答 1

13

您在调用时给出Parcel了一个数组。要使其正常工作,您必须初始化. 你可能想要。nullreadStringArrayindoorMapscreateStringArray

于 2012-05-26T20:39:51.373 回答