创建一个可 Parcelable 化的数据类。

3

我正在使用Kotlin开发Android项目。我想创建一个实现Parcelable接口的模型类。这是我的尝试:

@Parcelize
data class School(
    @Expose val name: String?,
    @Expose val address: String?,
): Parcelable

但是我遇到了编译器错误,提示“Class School不是抽象类,也没有实现Android.os.Parcelable中定义的public abstract fun writeToParcel(p0: Parcel!, p1: Int):Unit等抽象成员。”

我理解这个错误的含义,但是如何消除这个错误呢?我的Kotlin版本是1.3.50。

2个回答

2

添加

androidExtensions {
    experimental = true
}

将以下代码添加到您的应用程序build.gradle文件中,以添加Android块:


0

请检查你是否已经添加了这个

 androidExtensions {
    experimental = true
}

尝试像这样实现Parcelable

class School(var name:String, var address:String):Parcelable

像这样传递数据

 val school = School("demo","demo")
        val intent = Intent(this, activityB::class.java)
        intent.putExtra("schooldata",school)
        startActivity(intent)

像这样获取

 var school = intent.extras.getParcelable<School>("schooldata")
    schooldata.setText("${school.name}"+"\n"+"${school.address}")

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接