ARouter icon indicating copy to clipboard operation
ARouter copied to clipboard

Kotlin 传Parcelable 的实体时,实体类为null

Open BarretWu opened this issue 6 years ago • 1 comments

BarretWu avatar Nov 20 '19 12:11 BarretWu

这个问题我也出现过,最终排查原因是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) } }

zxyvoice avatar Oct 20 '20 08:10 zxyvoice