zoukankan      html  css  js  c++  java
  • 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);
    
    
  • 相关阅读:
    整数拆分
    win8 使用notepad++写C代码
    hessian客户端调用服务端测试类
    多线程环境下保证实现单线程的案例
    windows server 2008开机启动多个tomcat服务方法及遇到问题
    解决加载静态文件无法被浏览器缓存问题
    【拦截器】HandlerInterceptor接口
    【pac4j】OAuth 认证机制 入门篇
    【Linux部署 · JDK】在linux系统安装jdk
    【Linux部署 · GIT】在linux系统安装git和配置实现SSH
  • 原文地址:https://www.cnblogs.com/epmouse/p/7063483.html
Copyright © 2011-2022 走看看