为什么在使用 kotlinx.android.parcel.Parcelize 时会收到“未实现抽象成员”警告?

问题描述

我在尝试从发送 NewVehicle 对象的另一个片段读取包时遇到此错误

错误:“NewVehicle”类不是抽象类,并且没有实现抽象成员 public abstract fun describeContents(): Int defined in android.os.Parcelable

NewVehicle.kt

import android.os.Parcelable
import com.google.gson.annotations.Serializedname
import kotlinx.android.parcel.Parcelize

@Parcelize
data class NewVehicle(
    @Serializedname("av_se")
    val avSe: String,.....
    @Serializedname("vh_ob")
    val vhOb: String,@Serializedname("zo_in")
    val zoIn: String
):Parcelable{}

解决方法

请在 Parcelable 后删除 {}。

@Parcelize
data class NewVehicle(
    @SerializedName("av_se")
    val avSe: String,.....
    @SerializedName("vh_ob")
    val vhOb: String,@SerializedName("zo_in")
   val zoIn: String
): Parcelable
,

我通过在 android 块内的 build.gradle(app) 中添加它来解决它。

androidExtensions {
    experimental = true
}
,

就我而言,我忘记在 gradle 中添加 apply plugin: 'kotlin-parcelize'

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...