首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android中的视图绑定与数据绑定

Android中的视图绑定与数据绑定
EN

Stack Overflow用户
提问于 2021-08-17 13:54:04
回答 2查看 568关注 0票数 0

Android文档说,视图绑定是一个特性,而数据绑定是一个库。那是什么意思?从视图绑定生成的绑定类和数据绑定之间有什么关系吗?它们是生成单个绑定类还是生成单独的绑定类?

代码语言:javascript
复制
{
    viewBinding = true
    dataBinding = true
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-08-26 12:14:55

经过一些研究,我了解到视图绑定和数据绑定都会生成单个绑定类。

示例:假设我们有一个布局文件activity_main.xml,如果您在模块级build.gradle文件中启用视图绑定,将在build > generated folders层次结构中生成一个ActivityMainBinding.java文件。现在,如果我们还启用了数据绑定并在XML布局文件中进行了更改(添加了布局标记并包含了我们的视图模型),则同一文件ActivityMainBinding.java会自动在其内部进行一些更改,并同时用于视图绑定和数据绑定。

票数 1
EN

Stack Overflow用户

发布于 2021-08-17 14:18:25

它们生成不同的类,因为它们做完全不同的事情。

视图绑定生成要在代码中使用的绑定类。您可以在膨胀视图时使用它,它会遍历膨胀的视图,并用id填充每个视图的字段,该id以id的名称命名。它允许你不用做所有的View x = findViewById(R.id.y)工作,而是用一个单一的绑定来代替所有的东西。

数据绑定创建的类可以在布局xml中引用,并用于自动将数据从该绑定类移动到视图中。例如,您可以假设TextView的文本是{user.name},当您更新该布局的模型时,它将自动使用新值填充视图。

数据绑定有点争议--有些人喜欢它,有些人讨厌它。这是你做事方式的一个重大变化。视图绑定基本上是ButterKnife的替代品,对开发人员的生活质量也有很小的改善。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68818656

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档