databinding 使用步骤

一、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);
相关文章
相关标签/搜索