Kotlin Parcelize BaseObservable遇到的坑

在尝试让数据类同时实现Parcelable和BaseObservable时,遇到问题。使用@Parcelize注解后,数据无法正确携带。解决方法是手动实现Parcelable接口,但这样会导致BaseObservable的构造方法未被生成,需要先实现Parcelable再实现BaseObservable。
摘要由CSDN通过智能技术生成

我的数据类要实现Parcelable 和databing的BaseObservable()。
在设置完set方法后加上了@Parcelize ,发现数据没有携带成功。
单独实现Parcelable 发现并没有将实现了set方法的orgName构造出来,因此必须先实现Parcelable接口再实现BaseObservable ,并且无法使用@Parcelize

import android.os.Parcel
import android.os.Parcelable
import androidx.databinding.BaseObservable


class TestBean() : BaseObservable(),Parcelable {

    var id: String? = null
    var tel: String? = null
    var orgName: String? = null
        set(value) {
            field = value
            notifyChange()
        }
    constructor(parcel: Parcel) : this() {
        id = parcel.readString()
        tel = parcel.readString()
        orgName = parcel.readString()
    }
    override fun writeToParcel(parcel: Parcel, flags: Int) {
        parcel.writeString(id)
        parcel.writeString(tel)
        parcel.writeString(orgName)
    }

    override fun describeContents(): Int {
        return 0
    }

    companion object CR
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值