ActivityDataBinding /FragmentDataBinding 可以考虑默认绑定 lifecycleOwner
kakarrot opened this issue · 13 comments
如下:
return bind.apply {
viewBinding = this
viewBinding?.lifecycleOwner = (activity/fragment).lifecycleOwner //绑定生命周期
block?.invoke(this)
block = null
}
是的, 因为这句代码是必须要写的, 那就可以直接写在默认代码实现里, 也可以少写一行代码(也可以减少忘记写这行代码出错的可能性)
嗯嗯,好的,这是个非常好的建议,今天我会把它加上,跟着下一个版本一起上,明天就可以使用了
同理, ViewHolderDataBinding 可以在 value?.invoke(this) 后增加 一句 executePendingBindings(), 可以少写一行模板代码
executePendingBindings 这个无法省略,必须在设置完 adapter 数据之后,执行一次 executePendingBindings,因为在下滑或者上拉取的时候,会动态更新数据
1.0.6 已经默认支持绑定 lifecycleOwner
我查看了一下 阿里云 仓库是有的, 可能 jcenter 同步机制有点问题,你可以将 https://maven.aliyun.com/repository/jcenter 切换到 https://maven.aliyun.com/repository/public , public 是 central 仓库 和 jcenter 仓库的聚合仓库,有 public 就不需要 jcenter 了
如果还是有问题,欢迎添加我微信 : hi-dhl, 我给你看一下
奇怪了,我这边只用 阿里云的 jcenter 仓库,下载 1.0.6 是没有问题的,不过昨天上传 1.0.6 版本的时候,确实出现了点问题,如果 1.0.7 能用,那就用最新的 1.0.7 吧 ,下次在升级版本的时候,这块我会专门在测试一下
我将要关闭这个 issue,如果还有其他问题或者建议,欢迎再次提 issue,非常感谢