6

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

我正在使用以下方法向 Parcel 写入一些内容:

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

在 Parcelable 构造函数中应该如何获取这个值?

4

2 回答 2

13

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

示例代码:

boolean[] myBooleanArr = new boolean[1];
parcel.readBooleanArray(myBooleanArr);
boolean value = myBooleanArr[0];
于 2011-08-29T13:23:05.697 回答
2

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

于 2013-07-24T15:40:40.553 回答