记录一下遇到的一个问题:使用Parcelable序列化的时候,使用Bundle传递之后能接收到,但是会出现内容错误和乱码的问题,即传递前是id = 12; name = "小明"
,传递之后就变成了 id = 6723928232; name="? ?"
。
问题原因:使用Parcelable序列化时 read
和 write
,就是写入和读取参数的顺序错了。
//写入的时候,先写event_id,读取的时候没有参数名称,所以要按照顺序进行。
protected Event(Parcel in) {
event_id = in.readLong();
title = in.readString();
}
@Override
public void writeToParcel(Parcel parcel, int i) {
parcel.writeLong(event_id);
parcel.writeString(title);
}
参考文章:https://blog.csdn.net/javazejian/article/details/52665164