Проблема в том, что когда создатель вашего объекта MyParcelable
вызывает закрытый конструктор, который берет Parcel
, из которого вы восстанавливаете объект, ArrayList
все еще неинициализирован, таким образом null
.
Теперь вызов метода readTypedList()
пытается записать содержимое Parcel
s в указанное вами ArrayList
, которое выдает NullPointerEception
, поскольку оно еще не инициализировано.
Решение состоит в том, чтобыинициализируйте ArrayList
перед вызовом этого метода.
public MyParcelable(Parcel in) {
myInt = in.readInt();
arrList = new ArrayList<MyListClass>();
in.readTypedList(arrList, MyListClass.CREATOR);
}