Kotlin实现Parcelable

Posted 安果移不动

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kotlin实现Parcelable相关的知识,希望对你有一定的参考价值。

https://developer.android.com/kotlin/parcelize?hl=zh-cn#kts

plugins 
    id("kotlin-parcelize")
import kotlinx.parcelize.Parcelize

@Parcelize
class User(val firstName: String, val lastName: String, val age: Int): Parcelable

@Parcelize 要求在主要构造函数中声明所有序列化属性。该插件会针对每个属性发出警告,并在类正文中声明一个后备字段。此外,如果主构造函数的某些参数不是属性,就不能应用 @Parcelize

如果您的类需要更高级的序列化逻辑,请将其写在某个伴随类中:

@Parcelize
data class User(val firstName: String, val lastName: String, val age: Int) : Parcelable 
    private companion object : Parceler<User> 
        override fun User.write(parcel: Parcel, flags: Int) 
            // Custom write implementation
        

        override fun create(parcel: Parcel): User 
            // Custom read implementation
        
    

以上是关于Kotlin实现Parcelable的主要内容,如果未能解决你的问题,请参考以下文章

Kotlin实现Parcelable

Kotlin 快速实现 Parcelable 接口

Kotlin用@Parcelize实现序列化Parcelable

Kotlin用@Parcelize实现序列化Parcelable

Android Kotlin 创建类实现 Parcelable 在 writeToParcel 方法的“覆盖”中给出错误

Kotlin Compose 状态恢复 rememberSaveable 与 remember