Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ActivityDataBinding /FragmentDataBinding 可以考虑默认绑定 lifecycleOwner #8

Closed
kakarrot opened this issue Dec 28, 2020 · 13 comments

Comments

@kakarrot
Copy link

如下:
return bind.apply {
viewBinding = this
viewBinding?.lifecycleOwner = (activity/fragment).lifecycleOwner //绑定生命周期
block?.invoke(this)
block = null
}

@hi-dhl
Copy link
Owner

hi-dhl commented Dec 28, 2020

@kakarrot 是因为在 Activity 或者 Fragment 中使用 DataBinding 需要绑定 lifecycleOwner,如下图所示:

image

是想简化这一步操作吗?

@kakarrot
Copy link
Author

是的, 因为这句代码是必须要写的, 那就可以直接写在默认代码实现里, 也可以少写一行代码(也可以减少忘记写这行代码出错的可能性)

@hi-dhl
Copy link
Owner

hi-dhl commented Dec 28, 2020

嗯嗯,好的,这是个非常好的建议,今天我会把它加上,跟着下一个版本一起上,明天就可以使用了

@kakarrot
Copy link
Author

同理, ViewHolderDataBinding 可以在 value?.invoke(this) 后增加 一句 executePendingBindings(), 可以少写一行模板代码

@kakarrot kakarrot reopened this Dec 28, 2020
@hi-dhl
Copy link
Owner

hi-dhl commented Dec 28, 2020

executePendingBindings 这个无法省略,必须在设置完 adapter 数据之后,执行一次 executePendingBindings,因为在下滑或者上拉取的时候,会动态更新数据

@hi-dhl
Copy link
Owner

hi-dhl commented Dec 28, 2020

1.0.6 已经默认支持绑定 lifecycleOwner

@kakarrot
Copy link
Author

1.0.6 的包gradle 导入正常, 正常sync,, build 的时候报错:

2020-12-29 10-42-48 的屏幕截图

clean/Invalidate Caches无效
改成 version 1.0.5 没问题

@hi-dhl
Copy link
Owner

hi-dhl commented Dec 29, 2020

image

我查看了一下 阿里云 仓库是有的, 可能 jcenter 同步机制有点问题,你可以将 https://maven.aliyun.com/repository/jcenter 切换到 https://maven.aliyun.com/repository/public , public 是 central 仓库 和 jcenter 仓库的聚合仓库,有 public 就不需要 jcenter 了

@hi-dhl
Copy link
Owner

hi-dhl commented Dec 29, 2020

如果还是有问题,欢迎添加我微信 : hi-dhl, 我给你看一下

@kakarrot
Copy link
Author

...改成1.0.7 居然可以...,而且gradle能下载下来...
image

@kakarrot
Copy link
Author

...改成1.0.7 居然可以...,而且gradle能下载下来...
image

看了一下,原来 库更新到1.0.7了, 只是1.0.6 确实有点问题,一直找不到

@hi-dhl
Copy link
Owner

hi-dhl commented Dec 29, 2020

奇怪了,我这边只用 阿里云的 jcenter 仓库,下载 1.0.6 是没有问题的,不过昨天上传 1.0.6 版本的时候,确实出现了点问题,如果 1.0.7 能用,那就用最新的 1.0.7 吧 ,下次在升级版本的时候,这块我会专门在测试一下

@hi-dhl
Copy link
Owner

hi-dhl commented Jan 10, 2021

我将要关闭这个 issue,如果还有其他问题或者建议,欢迎再次提 issue,非常感谢

@hi-dhl hi-dhl closed this as completed Jan 10, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants