android Parcelable序列化复杂类(该类中含有不是基本类型的集合)

public class A{

private int id;

private String name;

private ArryList<B> list;

}

比如用 Parcelable序列化A,需要注意的几点

1.类B必须也要序列化;

2.write和read时字段的顺序不能错;

3.定义createor时,作用域限定符是public,static final不能少,CREATOR名字不能改。

public static final Parcelable.Creator<IllnessBean> CREATOR

否则可能会出现以下错误:

Caused by: java.lang.NullPointerException: expected receiver of type xx.xxxx.xxx.B, but got null

debug时会发现list中的B的CREATOR为null(序列化B时CREATOR忘记写static final);


只是记下开发中由于粗心犯的错,勿喷。

猜你喜欢

转载自blog.csdn.net/forever_love007/article/details/43154327