DataBinding的简单使用
2016-07-03 11:29
183 查看
一.在app中的build.gradle中添加加如下代码:
二.创建实体类,例子这里创建了User这个实体类,这个实体类包含3个属性,分别是用户名,昵称,邮箱.
public class User {private String name;
private String nickName;
private String email;
private boolean vip;
public boolean isVip() {
return vip;
}
public void setVip(boolean vip) {
this.vip = vip;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getNickName() {
return nickName;
}
public void setNickName(String nickName) {
this.nickName = nickName;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
三.创建布局文件,里面包含3个TextView控件,布局中需要用到layout,data标签,具体内容如下:
<?xml version="1.0" encoding="utf-8"?><layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<data>
<variable
name="user"
type="net.icgear.databindingdemo.User"/>
</data>
<LinearLayout
android:orientation="vertical"
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:gravity="center"
tools:context="net.icgear.databindingdemo.MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="40dp"
android:textColor="@{ user.vip ? 0xffff0000 : 0xff000000}"
android:text="@{ user.name }" />
<TextView
android:layout_width="wrap_content"
android:layout_height="40dp"
android:text="@{ user.nickName}" />
<TextView
android:layout_width="wrap_content"
android:layout_height="40dp"
android:text="@{ user.email}" />
</LinearLayout>
</layout>
其中data标签中的 variable的内容是,User实体类的包名.
四.在Activity中的使用,代码如下:
public class MainActivity extends AppCompatActivity {@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.activity_main);
ActivityMainBinding binding = DataBindingUtil.setContentView(this,R.layout.activity_main); 用这种方式 来加载布局
User user = new User();
user.setName("用户名");
user.setNickName("昵称");
user.setEmail("l@1.net");
binding.setUser(user);
}
}
相关文章推荐
- python bottle框架
- java-finally
- 数据结构复习 - 队列Queue
- 框中填数
- LA-3521 (数论)
- hdu 4001 To Miss Our Children Time
- 静态变量
- 修改apache的最大连接数
- MongoDB c++ driver(一)
- Mybatis步步进阶(六)——Mybatis Mapper代理和逆向工程
- 【Android死丢丢】在AndroidStudio中使用Lambda表达式
- 基于U-BOOT-2010.09移植OK6410开发版记录(三)
- Ruby on Rails 5.0 发布
- kali之启动DVWA
- java知识点
- 数据结构复习 - 栈Stack
- javaee-SpringFramework下载
- centos7安装VLC播放器
- json在项目中的应用大总结
- centos7安装VLC播放器