2011-08-29 5 views
5

Ben android.os.Parcel gelen readBooleanArray kullanmaya çalışıyorum, ancak readBooleanArray void döndürür ve bu yöntemin nasıl kullanılacağı açık değildir.Parcel.readBooleanArray() nasıl kullanılır?

Ben Parsel bir şeyler yazmak için aşağıdaki yöntemi kullanıyorum: bu değer Parcelable yapıcı elde edilmelidir nasıl

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

?

cevap

13

Boole [] geçirmeniz gerektiğine inanıyorum, Parsel'deki değerler buna kopyalanacak, daha sonra bu diziden okuyorsunuz.

örnek kod: gerçek boole dizisi, yalnızca bir değer varsa ve dizinin uzunluğunu bilmiyorsanız

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

Bu sizin için tam olarak aradığım şey oldu. – Joost

+0

Birkaç booleanın paketlenmesi gerektiğinde sorun yaşadınız mı? Lütfen bana yardım edebilir misiniz? Http: //stackoverflow.com/questions/13463727/readbooleanarray-throws-runtimeexceptionbad-array-lengths. Teşekkürler. –

1

, o zaman createBooleanArray() yerine readBooleanArray(boolean[]) kullanabilirsiniz. writeBooleanArray(boolean[]) ile parsel içine koymak aynı yeni bir dizi dönecektir.