databinding学习(1)
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)相关推荐
- DataBinding 学习系列(2)详解DataBinding在xml中的使用
#前言# 上一篇简单的介绍了DataBinding的用法,这几篇来仔细的介绍一下的功能. #data 标签 的功能# <data class="test"></d ...
- DataBinding学习记录
DataBinding的实质其实也是APT技术,DataBinding是MVVM架构中出现的.想要使用DataBinding,首先需要在在build.gradle(app)中加入以下这句话,如下图所示 ...
- Android Databinding学习
一.启用Databinding android { dataBinding { enabled = true } } 二.xml布局文件 <layout xmln ...
- DataBinding 学习系列(3)新增的可见字段来编写对象(bean)
#前言# 之前主要都是在讲DataBinding在xml中的使用,基本上满足了大部分的需求了,但是不能放下前进的脚步,了解和使用DataBinding中的可见字段,绝对是一件锦上添花的事情. #实战# ...
- Android DataBinding学习和实践(二)
书承上文,这次我们来探究一下DataBinding中控件事件的绑定和可观察对象的使用. 目录 一.自定义DataBinding生成类名以及import的使用 1.自定义DataBinding生成类名 ...
- teamviewer 修改mac地址
https://blog.csdn.net/zp357252539/article/details/73528005/ TeamViewer 使用频繁后会被判定为商业用途,不可用.此软件的账号和设备m ...
- Android App 架构设计相关资料汇总
1. 前言 只要有1,2年工作经验的程序员,多多少少都会接触到架构东西.可能平时工作中不一定会有机会从0到1完完全全自己去设计一套架构出来,但是如果想成为高级工程师,技术专家,架构师--尽早接触架构方 ...
- BookWorm之IT藏经阁
BookWorm 有那么只勤勉的小虫,如痴如醉地沉迷于书卷,孜孜不倦地咀嚼着-- 小虫不才,科班出身,闲静少言,喜藏书卷.好读书,不求甚解:每有会意,便欣然忘食.今光布所藏,涉猎者遍及软硬件,意卿览之 ...
- [ExtJS5学习笔记]第十节 Extjs5新增特性之ViewModel和DataBinding
本文地址:http://blog.csdn.net/sushengmiyan/article/details/38612721 本文作者:sushengmiyan ------------------ ...
最新文章
- webstorm常用快捷键
- Oracle的共享封闭 独占封闭和共享更新封闭 (1)
- Redhate5.4下Oracle 11g安装
- 【中级软考】什么是McCabe测量法(McCabe复杂性度量、环路度量。计算有向弧数、结点数、强连通分量个数)
- 字符串按单词逆序输出c 语言,字符串中的每个单词倒序输出问题
- 给Angular初学者介绍一个非常方便的例子学习网站
- 虚拟化服务器内存容量与数量,虚拟化服务器内存容量与数量
- 为什么没有看到webcontent_环卫工人工资低工作辛苦,为什么还有那么多人愿意做呢?...
- URLEncoder.encode的默认编码问题
- python如何打开npy文件_操作python实现npy格式文件转换为txt文件
- 一篇搞定 Redis6(完整版)
- 你以为只有菜鸟求职碰壁,其实还有...
- Oracle P6培训系列:09定义计划编制视图
- 快手火山美拍秒拍抖音映客yy小影视频批量下载毛驴保存去水印助手
- Linux驱动开发之触摸驱动
- HTML5期末大作业:网站设计——天天生鲜水果蔬菜商城网站静态模板 (10个页面) HTML+CSS+JavaScript...
- wamp php imagick,wamp2.5安装imagick
- 交换机putty怎么调试_debian10使用putty配置交换机console口
- WIN10极限清理 C盘空间
- MySQL:创建数据库并插入数据
热门文章
- 修复阻止程序安装或删除的问题
- python爬虫入门教程--快速理解HTTP协议(一)
- 幂等性 第三方交易编号_java幂等性的解决方案
- android listview edittext 焦点冲突,Android开发之ListView+EditText-要命的焦点和软键盘问题解决办法...
- 手把手教你 Socket 通信(TCP/IP)
- python代码创建数据库_如何使用python ORM创建数据库表?
- matplotlib 子图超过4个_走进Matplotlib世界(四)
- 洛谷 2 月月赛 I 『MdOI R4』 (Div2) A ~ D 四题全,也许会有六题,超高质量题解 (Div.1E、F下辈子一定补)【每日亿题2 / 9】
- C++11 unordered_map详细介绍
- easypoi必填项_GitHub - wangjingting/poi-utils: help you more easy read or write excel file