package com.sogouchat.bean; import java.util.ArrayList; import java.util.Iterator; import java.util.LinkedList; import java.util.List; import android.os.Parcel; import android.os.Parcelable; import android.util.Log; public class ContactNode implements Parcelable { public int mId; public int mTelNumCnt; public String mDisName; public ArrayList<TelNode> mNumList; public ContactNode(){ } ContactNode(Parcel in){ // Log.i("ContactNode", "ContactNode" ); mId = in.readInt(); mTelNumCnt = in.readInt(); mDisName = in.readString(); // Log.i("ContactNode", mDisName+mTelNumCnt); if (mTelNumCnt >0){ // Log.i("ContactNode", "ContactNode 4 tel list"); mNumList = new ArrayList<TelNode>(); in.readTypedList(mNumList, TelNode.CREATOR); } } @Override public int describeContents() { // TODO Auto-generated method stub return 0; } @Override public void writeToParcel(Parcel dest, int flags) { // TODO Auto-generated method stub // Log.i("ContactNode", "writeToParcel"); dest.writeInt(mId); dest.writeInt(mTelNumCnt); dest.writeString(mDisName); // Log.i("writeToParcel", mDisName+mTelNumCnt); if (mTelNumCnt >0){ // Log.i("writeToParcel", "writeTypedList"); dest.writeTypedList(mNumList); } } public static final Parcelable.Creator<ContactNode> CREATOR = new Parcelable.Creator<ContactNode>() { public ContactNode createFromParcel(Parcel source){ return new ContactNode(source); } public ContactNode[] newArray(int size){ return new ContactNode[size]; } }; public void logTo(){ // Log.i("mDisName", mDisName); if (mTelNumCnt >0){ Iterator<TelNode> it = mNumList.iterator(); while(it.hasNext()){ TelNode node = it.next(); node.logTo(); } } } }