如何使用Parcel.readBooleanArray()?

时间:2011-08-29 13:17:36

标签: android parcelable parcel

我正在尝试使用android.os.Parcel中的readBooleanArray,但readBooleanArray返回void,因此我不清楚如何使用此方法。

我正在使用以下方法将内容写入包:

public void writeToParcel(Parcel out, int flags) {
    out.writeBooleanArray(new boolean[] {value});
}

如何在Parcelable构造函数中获取此值?

2 个答案:

答案 0 :(得分:13)

我相信你需要传递一个boolean [],Parcel中的值将被复制到那个,然后你从那个数组中读取。

示例代码:

boolean[] myBooleanArr = new boolean[1];
parcel.readBooleanArray(myBooleanArr);
boolean value = myBooleanArr[0];

答案 1 :(得分:1)

如果你有一个真正的布尔数组,不仅是一个值,而且你不知道数组的长度,那么你可以使用createBooleanArray()而不是readBooleanArray(boolean[])。它将返回一个新数组,该数组与使用writeBooleanArray(boolean[])放入包裹的数组相同。