android DataBinding 绑定数据1

1.在app下面的build.gradle里的android里加入如下代码:

dataBinding {
       enabled = true
}

然后重新构建一下

然后在布局文件里,选中根节点,按alt+enter,点“Convert to data binding layout”

2.创建一个model类

package com.example.myapplication10;

public class User {
    private String name;
    private int age;


    public User(String name, int age) {
        this.name = name;
        this.age = age;
    }
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }


}

在刚刚的布局文件里的data标签里,声明变量名

<variable
            name="user"     //变量名
            type="com.example.myapplication10.User" />  //model的类

声明过的变量,可以这样@{user.name}绑定:

<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools">

    <data>
        <variable
            name="user"
            type="com.example.myapplication10.User" />
    </data>

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">


        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@{user.name}"></TextView>

    </RelativeLayout>

</layout>

在onCreate里添加如下代码:

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        ActivityMainBinding activityMainBinding = DataBindingUtil.setContentView(this, R.layout.activity_main);
        user = new User("张三",50);
        activityMainBinding.setUser(user);
    }

ActivityMainBinding这个类是自动生成的
DataBindingUtil.setContentView(this, R.layout.activity_main);这里可以指定对应的布局文件
activityMainBinding.setUser(user); 这样子把user这个变量关联到布局文件里的user变量

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容