创建 Parcelable 数据 class
Create data class that is Parcelable
我正在使用 Kotlin 开发 Android 项目。我想创建一个实现 Parcelable 接口的模型 class。这是我试过的:
@Parcelize
data class School(
@Expose val name: String?,
@Expose val address: String?,
): Parcelable
但我收到编译器错误提示 "Class School is not abstract and does not implement abstract memeber public abstract fun writeToParcel(p0: Parcel!, p1: Int):Unit
defined in android.os.Parcelable
"。
我明白错误的意思。但是如何摆脱这个错误呢?我的 Kotlin 版本是 1.3.50
添加
androidExtensions {
experimental = true
}
到您的应用程序中的 Android 区块 build.gradle。
检查你是否添加了这个
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}")
我正在使用 Kotlin 开发 Android 项目。我想创建一个实现 Parcelable 接口的模型 class。这是我试过的:
@Parcelize
data class School(
@Expose val name: String?,
@Expose val address: String?,
): Parcelable
但我收到编译器错误提示 "Class School is not abstract and does not implement abstract memeber public abstract fun writeToParcel(p0: Parcel!, p1: Int):Unit
defined in android.os.Parcelable
"。
我明白错误的意思。但是如何摆脱这个错误呢?我的 Kotlin 版本是 1.3.50
添加
androidExtensions {
experimental = true
}
到您的应用程序中的 Android 区块 build.gradle。
检查你是否添加了这个
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}")