天天看点

dataBinding无法生成binding类的原因

今天在使用databinding时候一直报无法根据xml生成activityMainBinding类,网上方法千篇一律都未能解决,先说一下集成步骤吧

1.在app的build.gradle文件下android根节点添加开启databinding,android studio根据开关会引入相应的库,build一下吧

dataBinding{
        enabled = true
    }
           

2.找到布局文件,在根布局alt+enter,按图修改

dataBinding无法生成binding类的原因

3.在data节点添加variable节点,将data数据Model与view建立关系

dataBinding无法生成binding类的原因

4.建立model类,生命变量,在这回归正题,有的小伙伴按照入门教程,没有建立get ,set方法,导致,无法运行,报错找不到相应的databing类,仔细想了一下,应该是databing通过get方法来进行视图与数据绑定。

dataBinding无法生成binding类的原因

5.返回布局文件,写一个测试TextView 添加 android:text="@{userInfo.name}"来获取数据

6.返回Activity,在oncreate()方法去掉原来绑定视图的setCotentView(),添加如图,

dataBinding无法生成binding类的原因
总结:出现无法生成databinding类,要么布局文件出错,比如曾经遇到过的资源文件出错,Textview疏忽写成了textview,这些都会报错,但没指向性,variable未导包无法找到model,最重要的写model时候加上get set方法