Kotlin 传Parcelable 的实体时,实体类为null
这个问题我也出现过,最终排查原因是kotlin代码是由Java代码转化过来,
companion object { val CREATOR: Parcelable.Creator<PickupCodeAdEntity> = object : Parcelable.Creator<PickupCodeAdEntity> { override fun createFromParcel(in: Parcel): PickupCodeAdEntity = PickupCodeAdEntity(in) override fun newArray(size: Int): Array<PickupCodeAdEntity?> = arrayOfNulls(size) } }
有时候不会自动加上 @JvmField 标签暴露为静态成员,所以导致无效,加上标签之后就可以了。踩坑了
companion object { @JvmField val CREATOR: Parcelable.Creator<PickupCodeAdEntity> = object : Parcelable.Creator<PickupCodeAdEntity> { override fun createFromParcel(in: Parcel): PickupCodeAdEntity = PickupCodeAdEntity(in) override fun newArray(size: Int): Array<PickupCodeAdEntity?> = arrayOfNulls(size) } }