随笔 - 390  文章 - 51  评论 - 166  阅读 - 199万

Android的Databinding-普通绑定

1. 使用ActivityBasicBinding binding = DataBindingUtil.setContentView(this, R.layout.main);代替之前使用的setContentView
2. 创建一个pojo的数据类,例如User
3. main.xml这个布局添加,User就是数据对象

<data>
<import type="com.liangfeizc.databinding.model.User" />
<variable name="user" type="User" />
</data>

4. 布局中需要读取User的属性值使用{user.name}读取。
5. 设置值的时候创建User对象,并使用ActivityBasicBinding的对象调用setUser方法,创建ActivityBasicBinding对象的时候就会自动生成setUser方法。


6. 使用类方法,在xml的data节点导入:

1 <import type="com.liangfeizc.databindingsamples.utils.MyStringUtils" />

7. 使用办法

1 <TextView
2     android:layout_width="wrap_content"
3     android:layout_height="wrap_content"
4     android:text="@{MyStringUtils.capitalize(user.firstName)}" />

 

8. 类型别名,避开类名相同的情况

1 <import type="com.example.home.data.User" />
2 <import type="com.examle.detail.data.User" alias="DetailUser" />
3 <variable name="user" type="DetailUser" />

 

9. 三目运算符简写法等价于:

1 android:text="@{user.displayName ?? user.lastName}"

 

 

 

 

本节参考代码。

posted on   lee0oo0  阅读(254)  评论(0编辑  收藏  举报
编辑推荐:
· 你所不知道的 C/C++ 宏知识
· 聊一聊 操作系统蓝屏 c0000102 的故障分析
· SQL Server 内存占用高分析
· .NET Core GC计划阶段(plan_phase)底层原理浅谈
· .NET开发智能桌面机器人:用.NET IoT库编写驱动控制两个屏幕
阅读排行:
· 我干了两个月的大项目,开源了!
· 推荐一款非常好用的在线 SSH 管理工具
· 千万级的大表,如何做性能调优?
· 聊一聊 操作系统蓝屏 c0000102 的故障分析
· .NET周刊【1月第1期 2025-01-05】
< 2025年1月 >
29 30 31 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 1
2 3 4 5 6 7 8

点击右上角即可分享
微信分享提示