Как использовать Parcel.readBooleanArray ()? - PullRequest
6 голосов
/ 29 августа 2011

Я пытаюсь использовать readBooleanArray из android.os.Parcel, но readBooleanArray возвращает void, и поэтому мне неясно, как использовать этот метод.

Я использую следующий метод, чтобы написать что-ток Посылке:

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

Как получить это значение в конструкторе Parcelable?

Ответы [ 2 ]

13 голосов
/ 29 августа 2011

Я считаю, что вам нужно передать логическое значение [], значения в посылке будут скопированы в него, а затем вы прочитаете из этого массива.

Пример кода:

boolean[] myBooleanArr = new boolean[1];
parcel.readBooleanArray(myBooleanArr);
boolean value = myBooleanArr[0];
1 голос
/ 24 июля 2013

Если у вас есть реальный логический массив, а не только одно значение, и вы не знаете длину массива, тогда вы можете использовать createBooleanArray() вместо readBooleanArray(boolean[]). Он вернет новый массив, который вы положили в посылку с writeBooleanArray(boolean[]).

...