android data binding jetpack VII @BindingAdapter
android data binding jetpack VIII BindingConversion
android data binding jetpack VII @BindingAdapter
android data binding jetpack V 实现recyclerview 绑定
android data binding jetpack IV 绑定一个方法另一种写法和参数传递
android data binding jetpack III 绑定一个方法
android data binding jetpack II 动态数据更新
android data binding jetpack I 环境配置 model-view 简单绑定
解决前面 item imageview如果和一个url绑定,怎么来展示。

BindingAdapter
字面意思:绑定适配???
推荐大神文章:https://www.jianshu.com/p/686bfc58bbb0
不再多说了。记录自己的理解。
当要给一个View绑定一个数据,但数据不能直接满足需求。比如用一个View来展示金钱。格式是:$1000.00。
如果返回数据只有1000.00我们要加上$符。直接把数字绑定给view就不能满足了。
现在需要建立新的绑定过程。
可以这样写:
@BindingAdapter("android:text")
public static void setTxt(final TextView tv, String str) {
tv.setText("$:" + str);
}
这个方法可以扔在任何一个类里。注解要自动解析并起作用。注解的引入有时候让程序变得难以理解。
布局绑定不变。
结果:
在所有的textview text 绑定里都起作了。说明这个绑定规则是全局。
所以也不能这么改了。
观察一下实现过程:

整个定义的意思是:现在我们在全局建立一个绑定规则的,对于
这个属性,使用
这个方法来绑定。
如果自定义一个规则如下:
@BindingAdapter("app:money")
public static void setMoney(final TextView tv, String str) {
tv.setText("$:" + str);
}
然后在xml中使用。把原来的text改回去。

app这个命空间说是随便起,因为运行过程会忽略。
看结果:
正是我们想要的,字符前面加了$.也就是我们定义的运算结果。
回过来看前面的代码:

给ImageView 加了一个属性规则叫:
,然xml中绑定使用。最终展示了一个图片资源对imageview.
更深入理解请看官言文档和源码。
总结:1.BindingAdapter是建一个绑定规则。
2.这个规则写在哪儿都行。
3.是全局的,所有人通用。
声明:本系列文字可能不太严谨,请阅读者自我甄别。
android data binding jetpack VII @BindingAdapter的更多相关文章
- android data binding jetpack VIII BindingConversion
android data binding jetpack VIII BindingConversion android data binding jetpack VII @BindingAdapter ...
- android data binding jetpack VI 清理一些概念。BR 运算表达式
android data binding jetpack VIII BindingConversion android data binding jetpack VII @BindingAdapter ...
- android data binding jetpack V 实现recyclerview 绑定
android data binding jetpack VIII BindingConversion android data binding jetpack VII @BindingAdapter ...
- android data binding jetpack IV 绑定一个方法另一种写法和参数传递
android data binding jetpack VIII BindingConversion android data binding jetpack VII @BindingAdapter ...
- android data binding jetpack II 动态数据更新
android data binding jetpack VIII BindingConversion android data binding jetpack VII @BindingAdapter ...
- android data binding jetpack I 环境配置 model-view 简单绑定
android data binding jetpack VIII BindingConversion android data binding jetpack VII @BindingAdapter ...
- android data binding jetpack III 绑定一个方法
第三篇 给view绑定一下方法响应. (补充:1.被绑定的方法必须是public的. 1.绑定方法可以用主语法.也可以用以下双冒号方式“::” android:onClick="@{pr ...
- android data binding jetpack VIIII 第一坑
<LinearLayout android:id="@+id/ll_item_home_page_pics" android:layout_width="wrap_ ...
- Android Data Binding Library
Data Binding Library Data Binding Library是一个支持库,允许您使用声明格式(而不是编程)将布局中的UI组件与应用程序中的数据源绑定. 布局通常在调用UI框架方法 ...
随机推荐
- 1.SpringMVC 概述
SpringMVC 简介 SpringMVC 也叫 Spring web mvc ,属于表现层的框架.SpringMVC 是 Spring框架的一部分,是在Spring3.0后发布的 第一个Sprin ...
- django中app_name以及namespace理解
在写django的时候,html中反向解析经常会用到app_name 但有时候又是namespace,具体的区别如下: 大部分情况 这两者有其一就可以了. 并且两者(可以简化理解)无区别 只要一种情况 ...
- Delphi 线程的基本概念
- python学习笔记:安装boost python库以及使用boost.python库封装
学习是一个累积的过程.在这个过程中,我们不仅要学习新的知识,还需要将以前学到的知识进行回顾总结. 前面讲述了Python使用ctypes直接调用动态库和使用Python的C语言API封装C函数, C+ ...
- 使用python下载图片(福利)
刚学python 没多久, 代码处处是漏洞,也希望各位大佬理解一下 爬出来的图片... 使用的 是 https://www.tianapi.com/ 接口下的 美女图片... (需要自己注册一个账号 ...
- kubernetes之node隔离与恢复
需求: 在硬件升级, 硬件维护等情况下, 我们需要将某些node隔离, kubectl cordon <node_name> #禁止pod调度到该节点上, 在其上运行的pod并不会自动停止 ...
- Hadoop_25_MapReduce实现日志清洗程序
1.需求: 对web访问日志中的各字段识别切分,去除日志中不合法的记录,根据KPI统计需求,生成各类访问请求过滤数据 2.实现代码: a) 定义一个bean,用来记录日志数据中的各数据字段 packa ...
- 深入理解Java虚拟机——读书笔记
首先 强烈推荐周志明老师的这本书,真的可以说是(起码中文出版界)新手了解Java虚拟机必须人手一本的教科书!!! 第二部分自动内存管理机制 由于Java虚拟机的多线程是通过线程轮流切换并分配处理器 ...
- linux程序编译过程
大家肯定都知道计算机程序设计语言通常分为机器语言.汇编语言和高级语言三类.高级语言需要通过翻译成机器语言才能执行,而翻译的方式分为两种,一种是编译型,另一种是解释型,因此我们基本上将高级语言分为两大类 ...
- golang mysql 模糊查询
db.SqlDB.Query("SELECT id,name FROM test_table where title name like CONCAT('%',?,'%');", ...