2019独角兽企业重金招聘Python工程师标准>>>

(1)在工程的gradle中声明

dependencies {classpath 'com.android.tools.build:gradle:1.3.0'classpath "com.android.databinding:dataBinder:1+"}

(2)在模块的gradle中声明

apply plugin: 'com.android.databinding'

(3)声明一个数据模型

public class User {public  String firstName ;public  String lastName ;public User(String firstName, String lastName) {this.firstName = firstName;this.lastName = lastName;}

(4)设置layout中的数据源

<layout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"><data><variablename="user"type="com.example.lin.myapplication.model.User"/></data>

必须设置 <layout>标签为根目录


<TextViewandroid:layout_width="wrap_content"android:text="@{user.firstName}"android:layout_height="wrap_content" />
<TextViewandroid:layout_width="wrap_content"android:text="@{user.lastName}"android:layout_height="wrap_content" />

在view上绑定数据

(5)在java代码中创建实体类对象

ActivityMainBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_main);
User user = new User("lin", "zhibiao");
binding.setUser(user);

注意: 引入布局的方法使用

注意: 修改 Project 的 build.gradle,保持 gradle 和 dataBinder 都是最新版,否则会由于 Android Studio 的一次升级导致 Data Binding 失效。 classpath 'com.android.tools.build:gradle:1.3.+' classpath 'com.android.databinding:dataBinder:1.+'

发现1: 实体类可以声明为私有变量,实现set get方法,依然可以在xml布局文件中使用 @{user.firstName}找到数据

发现2: 设置一个按钮 点击事件为修改数据模型对象的属性 ,界面上并没有变化,看来并没有双向绑定?

发现3: xml 的文件名叫 activity_basic.xml,那么生成的类就是 ActivityBasicBinding

如果发生出现错误类似Error:Failed to resolve: com.android.databinding:library:1.0-rc1

解决办法:更新SDK的Extras下的Android Support Repository和Android Support Library包,更新后就可以在sdk/extras/android/m2repository/com/android/databinding的 文件夹中的adapter和library文件夹中发现1.0-rc1的身影了

转载于:https://my.oschina.net/u/1446823/blog/507926

databinding学习(1)相关推荐

  1. DataBinding 学习系列(2)详解DataBinding在xml中的使用

    #前言# 上一篇简单的介绍了DataBinding的用法,这几篇来仔细的介绍一下的功能. #data 标签 的功能# <data class="test"></d ...

  2. DataBinding学习记录

    DataBinding的实质其实也是APT技术,DataBinding是MVVM架构中出现的.想要使用DataBinding,首先需要在在build.gradle(app)中加入以下这句话,如下图所示 ...

  3. Android Databinding学习

    一.启用Databinding android {     dataBinding {         enabled = true     } } 二.xml布局文件 <layout xmln ...

  4. DataBinding 学习系列(3)新增的可见字段来编写对象(bean)

    #前言# 之前主要都是在讲DataBinding在xml中的使用,基本上满足了大部分的需求了,但是不能放下前进的脚步,了解和使用DataBinding中的可见字段,绝对是一件锦上添花的事情. #实战# ...

  5. Android DataBinding学习和实践(二)

    书承上文,这次我们来探究一下DataBinding中控件事件的绑定和可观察对象的使用. 目录 一.自定义DataBinding生成类名以及import的使用 1.自定义DataBinding生成类名 ...

  6. teamviewer 修改mac地址

    https://blog.csdn.net/zp357252539/article/details/73528005/ TeamViewer 使用频繁后会被判定为商业用途,不可用.此软件的账号和设备m ...

  7. Android App 架构设计相关资料汇总

    1. 前言 只要有1,2年工作经验的程序员,多多少少都会接触到架构东西.可能平时工作中不一定会有机会从0到1完完全全自己去设计一套架构出来,但是如果想成为高级工程师,技术专家,架构师--尽早接触架构方 ...

  8. BookWorm之IT藏经阁

    BookWorm 有那么只勤勉的小虫,如痴如醉地沉迷于书卷,孜孜不倦地咀嚼着-- 小虫不才,科班出身,闲静少言,喜藏书卷.好读书,不求甚解:每有会意,便欣然忘食.今光布所藏,涉猎者遍及软硬件,意卿览之 ...

  9. [ExtJS5学习笔记]第十节 Extjs5新增特性之ViewModel和DataBinding

    本文地址:http://blog.csdn.net/sushengmiyan/article/details/38612721 本文作者:sushengmiyan ------------------ ...

最新文章

  1. webstorm常用快捷键
  2. Oracle的共享封闭 独占封闭和共享更新封闭 (1)
  3. Redhate5.4下Oracle 11g安装
  4. 【中级软考】什么是McCabe测量法(McCabe复杂性度量、环路度量。计算有向弧数、结点数、强连通分量个数)
  5. 字符串按单词逆序输出c 语言,字符串中的每个单词倒序输出问题
  6. 给Angular初学者介绍一个非常方便的例子学习网站
  7. 虚拟化服务器内存容量与数量,虚拟化服务器内存容量与数量
  8. 为什么没有看到webcontent_环卫工人工资低工作辛苦,为什么还有那么多人愿意做呢?...
  9. URLEncoder.encode的默认编码问题
  10. python如何打开npy文件_操作python实现npy格式文件转换为txt文件
  11. 一篇搞定 Redis6(完整版)
  12. 你以为只有菜鸟求职碰壁,其实还有...
  13. Oracle P6培训系列:09定义计划编制视图
  14. 快手火山美拍秒拍抖音映客yy小影视频批量下载毛驴保存去水印助手
  15. Linux驱动开发之触摸驱动
  16. HTML5期末大作业:网站设计——天天生鲜水果蔬菜商城网站静态模板 (10个页面) HTML+CSS+JavaScript...
  17. wamp php imagick,wamp2.5安装imagick
  18. 交换机putty怎么调试_debian10使用putty配置交换机console口
  19. WIN10极限清理 C盘空间
  20. MySQL:创建数据库并插入数据

热门文章

  1. 修复阻止程序安装或删除的问题
  2. python爬虫入门教程--快速理解HTTP协议(一)
  3. 幂等性 第三方交易编号_java幂等性的解决方案
  4. android listview edittext 焦点冲突,Android开发之ListView+EditText-要命的焦点和软键盘问题解决办法...
  5. 手把手教你 Socket 通信(TCP/IP)
  6. python代码创建数据库_如何使用python ORM创建数据库表?
  7. matplotlib 子图超过4个_走进Matplotlib世界(四)
  8. 洛谷 2 月月赛 I 『MdOI R4』 (Div2) A ~ D 四题全,也许会有六题,超高质量题解 (Div.1E、F下辈子一定补)【每日亿题2 / 9】
  9. C++11 unordered_map详细介绍
  10. easypoi必填项_GitHub - wangjingting/poi-utils: help you more easy read or write excel file