文章目录
前景回顾
Android 安卓DataBinding(一)·基础
Android 安卓DataBinding(二)·入门
Android 安卓DataBinding(三)·单向绑定 BaseObservable
Android 安卓DataBinding(四)·单向绑定 ObservableField
Android 安卓DataBinding(五)·单向绑定 ObservableCollection(集合使用)
Android 安卓DataBinding(六)·双向绑定
Android 安卓DataBinding(七)·事件绑定
Android 安卓DataBinding(八)·引用类方法
Android 安卓DataBinding(九)·运算符
在include中使用
首先写出layout布局:include_layout.xml
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<data>
<import type="com.lkdot.tbind.DataBean" />
<variable
name="data"
type="DataBean" />
</data>
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="@{data.name}" />
</android.support.constraint.ConstraintLayout>
</layout>
再修改:activity_main.xml
加入xmlns:bind=“http://schemas.android.com/apk/res-auto”
主要语句:bind:data="@{data}"
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:bind="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<data>
<import type="com.lkdot.tbind.DataBean" />
<variable
name="data"
type="DataBean" />
</data>
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FFFFFF"
tools:context=".MainActivity">
<include
layout="@layout/include_layout"
bind:data="@{data}" />
</android.support.constraint.ConstraintLayout>
</layout>
再看MainActivity.java
这里没有变
package com.lkdot.tbind;
import android.databinding.DataBindingUtil;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import com.lkdot.tbind.databinding.ActivityMainBinding;
public class MainActivity extends AppCompatActivity {
ActivityMainBinding activityMainBinding;
DataBean textData;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
activityMainBinding = DataBindingUtil.setContentView(this, R.layout.activity_main);
textData = new DataBean("Start", "NorthernBrain", 25, true);
activityMainBinding.setData(textData);
}
}