首页 > 解决方案 > Android中的视图绑定与数据绑定

问题描述

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

{
    viewBinding = true
    dataBinding = true
}

标签: android

解决方案


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

视图绑定生成要在代码中使用的绑定类。你在膨胀视图时使用它,它会遍历膨胀视图并为每个视图填充一个带有 id 的字段,并以 id 的名称命名。它允许你不用做所有的View x = findViewById(R.id.y)事情,而是用一个绑定替换所有这些。

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

数据绑定有点争议——有些人喜欢它,有些人讨厌它。这是你做事方式的重大变化。View Binding 基本上是 ButterKnife 的替代品,对开发人员的生活质量进行了小幅提升。


推荐阅读