您的位置:首页 > 其它

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);

    }

}          
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: