Android databinding 双向绑定(Demo)
来源:互联网 发布:java大文件上传 编辑:程序博客网 时间:2024/05/01 04:30
ide : android Studio
gradle :com.android.tools.build:gradle:2.1.3
效果图
上面是EditText 下面是 TextView,在EditText输入内容,textview 内容跟随
首先实体类,作者亲测以下两种方式
public class People {public ObservableField life = new ObservableField();//======================分割线//以下方式需 extends BaseObservable// private String life;// @Bindable// public String getLife() {// return life;// }//// public void setLife(String life) {// if (this.life != life){// this.life = life;// notifyChange();// }// }}
MainActivity:
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ActivityMainBinding binding = DataBindingUtil.setContentView(this,R.layout.activity_main); People p = new People(); p.life.set("life is so cool!"); binding.setPeople(p); }}
布局:
<?xml version="1.0" encoding="utf-8"?><layout xmlns:android="http://schemas.android.com/apk/res/android"> <data> <import type="com.example.jzl.myapplication.People"></import> <variable name="people" type="People"></variable> </data> <LinearLayout xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:background="@color/white" android:orientation="vertical" tools:context="com.example.jzl.myapplication.MainActivity"> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@={people.life}" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@{people.life}" /> </LinearLayout></layout>
即可,
无法实现双向绑定,基本上是跟环境有关,
环境要求:Android Studio 2.1 Preview 3之后版本,gradle:2.1.0-alpha3之后版本
gradle 版本查看:https://jcenter.bintray.com/com/android/tools/build/gradle/
demo链接:http://download.csdn.net/detail/clare_ju/9636064
参考 : http://www.jianshu.com/p/c481d1f4e0b6
0 0
- Android databinding 双向绑定(Demo)
- Android DataBinding 双向绑定
- Android使用DataBinding实现双向绑定(一)
- Android,DataBinding的官方双向绑定
- Android,DataBinding的官方双向绑定
- Android MVVM 初探之 DataBinding 双向绑定
- Android进阶六:Databinding的双向绑定
- Android官方DataBinding(十):双向绑定之基于InverseBindingAdapter的反向绑定
- Android官方DataBinding(十一):对双向绑定之反向绑定的改进和简化
- Android官方DataBinding(十二):双向绑定之反向绑定的InverseBindingMethods改造和实现
- 基于Android DataBinding的InverseBindingMethod改进SeekBar双向绑定(正向/反向)数据绑定
- Android官方DataBinding(六): @= 操作符进行双向绑定
- Android学习笔记之MVVM----DataBinding(数据双向绑定)
- Android DataBinding (五) 自定义 View 的双向绑定
- DataBinding使用教程(四):BaseObservable与双向绑定
- DataBinding使用教程(四):BaseObservable与双向绑定
- Android DataBinding(二) 事件绑定
- android databinding绑定教程
- CAAnimation类
- AIDL
- MySql事务及隔离级别简介
- caffe基础(4):其他常用层及参数
- 第1章:zookeeper介绍
- Android databinding 双向绑定(Demo)
- Android 打jar包
- Android 加载大图不会OOM
- 聊一聊Android 6.0的运行时权限
- oracle两时间相减得到相差的时间
- CDH5.5.1增加新主机
- Linux设备驱动模型-Kobject
- 总结:知识树
- [Coursera 数字图像和视频处理基础]第一周