databinding学习(1)
2015-09-18 00:00
716 查看
摘要: databinding
(1)在工程的gradle中声明
(2)在模块的gradle中声明
(3)声明一个数据模型
(4)设置layout中的数据源
必须设置 <layout>标签为根目录
在view上绑定数据
(5)在java代码中创建实体类对象
注意: 引入布局的方法使用
注意:
修改 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的身影了
(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> <variable name="user" type="com.example.lin.myapplication.model.User"/> </data>
必须设置 <layout>标签为根目录
<TextView android:layout_width="wrap_content" android:text="@{user.firstName}" android:layout_height="wrap_content" /> <TextView android: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的身影了
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories