2013-01-01 1 views
2

데이터 유형이 "Object"인 값을 소포하고 싶습니다.
그게 내가 writeValue(Object v) 방법을 사용하고 있습니다.
개체 데이터를 소포에 작성하십시오.

@Override 
    public void writeToParcel(Parcel dest, int flags) { 
     dest.writeValue(lockMemberScore); 
     dest.writeValue(lockFollowedMemberScore); 
     dest.writeValue(lockGroupAvgScore); 
    } 

그러나 그것은 당신이 소포에 일반 객체를 쓸 수 없습니다 나에게 다음과 같은 오류

01-01 11:22:00.479: E/SyncService(9647): Parcel: unable to marshal value [email protected] 

답변

4

을주고있다.

writeValue(Object v) (문서에서 사용할 수있는) 데이터 형식의 긴 목록을 처리 할 수 ​​있지만 일반적인 개체 ... 기본적으로 당신의 v 아닌 그들 중 하나되지 않습니다 : 원시 데이터 유형, 번들,지도 등 Parcelable 또는 Serializable을 구현하지 않습니다. 그래서 writeValue()은 당신의 특정 Object로 무엇을해야하는지 알지 못합니다.

+0

ok @Sam 그래서 어떤 방식 으로든 일반 객체를 마샬링 및 비 정렬화할 수 있습니까? – KDeogharkar

+0

더 많은 정보 없이는 말하기가 _ 어렵습니다. 이 객체를 Parcelable을 구현하는 사용자 정의 클래스로 변환 할 수 있으면이 데이터를 Parcel에 저장할 수 있습니다. – Sam

+0

필자는 Parcelable을 구현하는 방법을 설명하는 다른 질문에 대한 답변을 잠시 후 작성하여 도움이 될 수 있습니다. [Android 화면에 맞춤 ArrayList를 저장하는 방법은 무엇입니까?] (http://stackoverflow.com/a/12503875/1267661). – Sam

관련 문제