我正在尝试使用android.os.Parcel中的readBooleanArray,但readBooleanArray返回void,因此我不清楚如何使用此方法。
我正在使用以下方法将内容写入包:
public void writeToParcel(Parcel out, int flags) {
out.writeBooleanArray(new boolean[] {value});
}
如何在Parcelable构造函数中获取此值?
答案 0 :(得分:13)
我相信你需要传递一个boolean [],Parcel中的值将被复制到那个,然后你从那个数组中读取。
示例代码:
boolean[] myBooleanArr = new boolean[1];
parcel.readBooleanArray(myBooleanArr);
boolean value = myBooleanArr[0];
答案 1 :(得分:1)
如果你有一个真正的布尔数组,不仅是一个值,而且你不知道数组的长度,那么你可以使用createBooleanArray()
而不是readBooleanArray(boolean[])
。它将返回一个新数组,该数组与使用writeBooleanArray(boolean[])
放入包裹的数组相同。