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 に答える