记一次Kotlin+DataBinding刷新字段的问题

遇到的问题
首先kotlin刷新某一个字段,从网上找到的写法如下

class UserInfoBean : BaseObservable() {
@Bindable
    var nickName = ""
        set(value) {
            field = value
            notifyPropertyChanged(BR.nickName)
        }
}        

代码中如下

1、声明
private var mUserBean = UserInfoBean()
2、给databinding赋值
mDataBind.apply {
            userBean = mUserBean
        }
3、在网络返回后
mDataBind.userBean = 网络返回后的UserInfoBean  
4、在某个监听触发后赋值 
mUserBean.nickName = "二丫"

理想情况下视图应该会发生变化,但是并没有
当我尝试无数种方法后突然想到了一个问题,原因如下
因为我在网络返回后赋值了一个新的bean类,所以我改变之前的bean类视图并不会发生改变
我尝试把代码改为

mUserBean = 网络返回后的UserInfoBean 
mDataBind.userBean = mUserBean

然后再次尝试赋值后就和预期的一样了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值