Android DataBinding库的使用

本文介绍了Android DataBinding库的配置和使用方法,包括库配置、XML布局和数据绑定的步骤。在实践中,开发者可能会遇到IDE无法编译生成的类的问题,解决办法是在布局名称后加杠。提供了一个Stack Overflow链接和GitHub Demo链接作为参考。
摘要由CSDN通过智能技术生成

前言

本篇是MVVM架构的姊妹篇,由于篇幅原因,所以将这个工具最简单的使用抽出来说一下。

实践

库配置


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

xml布局


	<?xml version="1.0" encoding="utf-8"?>
	<layout xmlns:android="http://schemas.android.com/apk/res/android">
	
	    <data>
	        <variable
	            name="user"
	            type="com.old.mvvm.UserBean" />
	    </data>
	
	    <LinearLayout
	        android:layout_width="match_parent"
	        android:layout_height="match_parent"
	        android:orientation="vertical">
	
	        <!--android:onClick="@{handlers::onClickFriend}"-->
	        <TextView
	            android:layout_width="wrap_content"
	            android:layout_height="wrap_content"
	            android:text="@{user.name}" />
	    </LinearLayout>
	
	</layout>

数据绑定


	public class Level1Activity extends AppCompatActivity {
	
	    @Override
	    protected void onCreate(Bundle savedInstanceState) {
	        super.onCreate(savedInstanceState);
	        setContentView(R.layout.activity_level_one_);
	        UserBean user = new UserBean(66,"小明");
	        ActivityLevelOneBinding ac = DataBindingUtil.setContentView(this, R.layout.activity_level_one_);
	        ac.setUser(user);
	    }
	}

sync之后生成的类地址:

project path…\app\build\generated\source\apt\debug\com\old\mvvm\databinding\xxxxBindg.java

注意坑!

dataBinding就那么几行代码,是个人看看都会用,但是我在用的时候遇了个一个坑,sync,make,rebuild之后类是生成了,但是IDE死活没有编译出对应的.class导致无法使用这个类。

后来我在Stack Overflow找到一个老哥和我一样情况,就是在布局名称后面加了个杠就行了。
https://stackoverflow.com/questions/50713070/unknown-databinding-class/50713352

Demo

https://github.com/zj614android/dataBindingDemo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值