databinding 使用步骤

1、app build.gradle中添加代码

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.2"
//添加这行就算引入了
    dataBinding {
        enabled = true
    }

    defaultConfig {
        .......
    }
    buildTypes {
       .........
    }
}

2、在xml布局文件中,添加根布局  <layout>  ....</layout>

3、activity的oncreate方法中    添加

ActivityMeiZiBinding viewDataBinding = DataBindingUtil.setContentView(this, R.layout.activity_mei_zi);
用上面这一行取代原activity的setcontentview();
这个ActivityMeiZiBinding是框架生成的类,注意它的命名 是按 布局文件来的,有下划线的都把下划线去掉 ,然后后面的首字母大写
R.layout.activity_mei_zi =》ActivityMeiZiBinding

4、此时你会发现在as中使用 viewDataBinding.  就会提示出你布局文件中的控件,也就是直接使用了。不过命名跟你的id名有点不同,规则跟3中类的命名规则相同

     一般规则是 如果id使用下划线,则下划线去掉,后面的 首字母大写  比如 id为  my_edittext  会变成   myEdittext

     这时就相当于已经对 该控件findviewbyid了,接下来就可以正常操作了。如果你只是为了达到 取代findviewbyid的操作,到这个地方就算完成了

      

5、当然databinding的功能远不止这么点

     ui绑定:   其实使用databinding我们在布局中连控件的id也不需要写了,对,就是这么屌。

     在布局文件中添加标签  

name相当于变量名,type相当于类型。一般就是提供数据的javabean的全类名
<data>
        <variable
            name="personalinfobean"
            type="com.example.apple.xiaohecun.model.bean.PersonalInfoBean"/>

    </data>

然后把控件的id都删掉。这时,你4中应用的binding.    就会报红。低版本studio需要rebuild一下

6、然后在你请求好数据的地方把 请求好的bean设置进去就OK了

PersonalInfoBean personalInfoBean=getPersonalInfo();
viewDataBinding.setPersonalinfobean(personalInfoBean);

 

 


posted @ 2017-06-22 10:14  epmouse  阅读(849)  评论(0编辑  收藏  举报