转载

Android 数据绑定 (Data Binding) 一

一、介绍

这篇文章说参考android官网来介绍如何使用Data Binding库来书写布局文件。并且用最少的代码来绑定你的app逻辑和layouts文件的控件。

二、使用条件

  1. Android 2.1(API等级7+)上
  2. 需要:Android Studio 1.3.0-beta1 或更高版本。
  3. Android Plugin for Gradle 1.5.0-alpha1 或更高

三、简单使用

步骤一:

在app中的build.gradle中添加,如下:

android {     ....     dataBinding {         enabled = true     } }   

步骤二:

创建一个 POJO : User.java

private final String firstName;   private final String lastName;   public User(String firstName, String lastName) {       this.firstName = firstName;       this.lastName = lastName;   }   public String getFirstName() {       return this.firstName;   }   public String getLastName() {       return this.lastName;   }   

步骤三:

在 layout 中使用 data

<?xmlversion="1.0" encoding="utf-8"?> <layoutxmlns:android="http://schemas.android.com/apk/res/android">     <data>         <variablename="user" type="com.jwenfeng.demomvp.bean.User"/>     </data>     <LinearLayout         android:orientation="vertical"         android:layout_width="match_parent"         android:layout_height="match_parent">           <android.widget.Toolbar             android:layout_width="fill_parent"             android:layout_height="wrap_content"             android:background="@color/colorPrimary">           </android.widget.Toolbar>           <TextViewandroid:layout_width="wrap_content"             android:layout_height="wrap_content"             android:text="@{user.firstName}"/>         <TextViewandroid:layout_width="wrap_content"             android:layout_height="wrap_content"             android:text="@{user.lastName}"/>     </LinearLayout> </layout>   

在 data 内描述了一个名为user的变量属性,使其可以在这个layout中使用,用法类似于 java web 的 el 表达式

步骤四:

在activity中使用

MainActivityBindingbinding = DataBindingUtil.setContentView(this, R.layout.main_activity); Useruser = new User("Test", "User"); binding.setUser(user);   

MainActivityBinding 这个类在写完 layout 的时候会生成 如果是 listview 或者 recyclerview 的adapter 可以使用

ListItemBindingbinding = ListItemBinding.inflate(layoutInflater, viewGroup, false); //or ListItemBindingbinding = DataBindingUtil.*inflate*(layoutInflater, R.layout.***list_item***, viewGroup, **false**);   

步骤五:

运行结果如图

Android 数据绑定 (Data Binding) 一

本文地址: http://jwenfeng.com/?p=195

尊重原创,转载请注明:From 晓峰残月(http://jwenfeng.com) 侵权必究! 未完待续…

原文  http://jwenfeng.com/archives/195
正文到此结束
Loading...