欢迎回来
在本视频中, 我们将向项目中添加数据绑定库｡
这是非常重要的一步, 因为我们要添加与回收视图的数据绑定｡
我们在前面的章节中讨论过这个话题｡
我们在reflection和mVVM部分实现了与Recycler View的数据绑定｡
但我重复这一点, 因为这是一个非常重要的概念, 你会在未来的项目和许多应用程序中使用它｡
所以第一步是启用数据绑定｡
让我们转到Android范围, 并允许使用构建特性进行数据绑定｡
在这里, 我将添加数据绑定等于真正的命中同步｡
在那之后, 让我们在这里添加物品卡｡
在这个布局中, 我将添加一个数据变量｡
在数据变量之前, 我需要在布局标记中包含它｡
因此, 布局为布局添加结束标记, 并确保将名称空间声明移动到布局中｡
好多了
然后把这个移到这里, 好的, 不要给布局标签添加任何width或height属性｡
好的, 为了防止任何可能的错误, 我将添加数据, 并在其中创建一个类型为user的变量｡
我将其命名为user, 类型为master code和Firebase dot user class｡
第一个文本视图将显示在用户名称中｡
第二个文本视图将显示电话号码｡
因此, 在用户点电话号码和第三个文本视图将显示该组｡
在user dot group, 这很简单｡
我们在之前的视频中已经了解到了｡
第三步是移动到这里的模型类并添加基础Observable｡
添加可绑定注释并通知数据集更改方法｡
我们还是从基础观测值开始｡
这里我需要扩展base observable｡
Base Observable是Android数据绑定库提供的一个类｡
你可以看到它｡
我们从Android x dot数据绑定包中导入了它｡
它作为一个基类, 用于实现可观察的属性和对象, 以通知对其属性的更改｡
您可以在ViewModel或模型类中扩展Base Observable, 并使用add Bindable注释getter方法以创建可观察属性｡
当基本可观察对象中的属性发生更改时, 可以调用notify property changed方法来通知数据绑定框架触发UI更新的更改｡
我们在之前的视频中讨论过这个问题, 所以请各位, 如果你有任何疑问, 任何问题,
请回到前面的部分或在问答部分发表评论, 我会帮助你更好地理解它｡
第二步是使用addBindable注释来注释getter方法｡
所以我们有三个领域｡
所以我们有三个getter和三个setter｡
让我们从用户名开始, 并使用add Bindable对其进行注释｡
Add Bindable annotation是Android数据绑定库中使用的一个annotation｡
它应用于数据绑定感知类（通常是ViewModel或数据类）中的可观察属性的getter方法,
以指示该属性可以绑定到UI元素｡
所以这说明这个用户名可以绑定到一个UI元素｡
当add Bindable属性的值更改时, 它会触发数据绑定更新, 从而使关联的UI元素自动反映更新后的值｡
它简化了保持UI元素与数据更改同步的过程, 减少了手动UI更新的需要｡
因此, 当您添加Bindable注释时, 这个get user name将通知这个文本视图,
它使用user. username, 并将再次发生任何更改｡
伙计们, 我会去电话号码的获取器和用户组的获取器｡
第三步是添加通知数据集｡
改变方法｡
这里我将转到设置用户名和通知属性｡
Changed是一个方法调用, 用于通知数据绑定框架可观察属性的值已更改｡
此方法通常用于扩展基础Observable的类中, 以在属性值更改时触发UI和视图中的更新｡
再次, 这里我们使用绑定双精度, 最后一步是通知属性更改｡
这里我将从b r开始, 它指的是绑定资源｡
而这是数据绑定库提供的自动生成类｡
它包含表示项目中Bindable批注属性的整数常量｡
常量以属性名称命名｡
你可以看到我们可以访问用户组､ 用户名､ 所有电话号码和类｡
我们对电话号码､ 用户名和组用户感兴趣｡
我需要通知用户名的任何变化, 所以我会通知b r点用户名｡
你可以看到这是在bindable｡
所以我在这里不定义任何变化｡
用这个bind双注释的get username方法｡
同样的方法我会用它在设置的电话号码｡
在这里我会通知电话号码｡
让我们向下到组用户并通知组用户｡
当调用notify property changed方法时, 实际上是告诉数据绑定更新绑定到指定属性的任何UI元素｡
我们已经三次叫停这个案子了｡
因此, 这里的三个文本视图将使用值的最新更改进行更新｡
用户名､ 电话号码和组用户数据绑定将负责刷新与该属性关联的UI元素,
确保显示或显示更新的值｡
这就是我们如何将数据绑定添加到布局和模态类｡
现在让我们学习如何将数据绑定添加到适配器类｡