一、app build.gradle中添加代码java
android { compileSdkVersion 25 buildToolsVersion "25.0.2" //添加这行就算引入了 dataBinding { enabled = true } defaultConfig { ....... } buildTypes { ......... } }
二、在xml布局文件中,添加根布局 <layout> ....</layout>android
三、activity的oncreate方法中 添加app
ActivityMeiZiBinding viewDataBinding = DataBindingUtil.setContentView(this, R.layout.activity_mei_zi);
用上面这一行取代原activity的setcontentview();
这个ActivityMeiZiBinding是框架生成的类,注意它的命名 是按 布局文件来的,有下划线的都把下划线去掉 ,而后后面的首字母大写
R.layout.activity_mei_zi =》ActivityMeiZiBinding
四、此时你会发如今as中使用 viewDataBinding. 就会提示出你布局文件中的控件,也就是直接使用了。不过命名跟你的id名有点不一样,规则跟3中类的命名规则相同框架
通常规则是 若是id使用下划线,则下划线去掉,后面的 首字母大写 好比 id为 my_edittext 会变成 myEdittext布局
这时就至关于已经对 该控件findviewbyid了,接下来就能够正常操做了。若是你只是为了达到 取代findviewbyid的操做,到这个地方就算完成了gradle
五、固然databinding的功能远不止这么点ui
ui绑定: 其实使用databinding咱们在布局中连控件的id也不须要写了,对,就是这么屌。this
在布局文件中添加标签 spa
name至关于变量名,type至关于类型。通常就是提供数据的javabean的全类名 <data> <variable name="personalinfobean" type="com.example.apple.xiaohecun.model.bean.PersonalInfoBean"/> </data>
而后把控件的id都删掉。这时,你4中应用的binding. 就会报红。低版本studio须要rebuild一下code
六、而后在你请求好数据的地方把 请求好的bean设置进去就OK了
PersonalInfoBean personalInfoBean=getPersonalInfo();
viewDataBinding.setPersonalinfobean(personalInfoBean);