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框架方法 ...
随机推荐
- 学习前端 第一天之html标签补充
一.常用浏览器内核 Trident(IE内核) Gecko(firefox) webkit(Safari) Chromium/Blink(chrome) Blink(Opera) 二.常见标签回顾 a ...
- docker第一篇 容器技术入门
Container 容器是一种基础工具,泛指任何可以容纳其它物品的工具. Linux Namespaces (docker容器技术主要是通过6个隔离技术来实现) namespace 系统调用参数 ...
- 四款免费好用的Bootstrap ui编辑器
Bootstrap带来了设计革命,本文介绍的四种免费Bootstrap在线设计工具,可视化所见所得设计网页,然后输出Html/CSS代码,其中有些甚至可以实现拖曳,也有可以设定自己的主题模板Theme ...
- 修正Calendar的Bug
procedure TAndroidNativeCalendarListener.onSelectedDayChange(view: JCalendarView; year, month, dayOf ...
- 多线程理论———— threading
什么是线程 线程也是一种多任务编程方法,可以利用计算机多核资源完成程序的并发执行.线程又被称为轻量级的进程.线程的特征 * 线程是计算机多核分配的最小单位 * 一个进程可以包含多个线程 * 线程也是一 ...
- redis系列二: linux下安装redis
下面介绍在Linux环境下,Redis的安装与配置 一. 安装 1.首先上官网下载Redis 压缩包,地址:http://redis.io/download 下载稳定版3.0即可. 2.通过远程管理工 ...
- (备忘)Nodepad++常用快捷键
Ctrl-H 打开Find / Replace 对话框 Ctrl-D 复制当前行 Ctrl-L 删除当前行 Ctrl-T 上下行交换 F3 找下一个 Shift-F3 找上一个 Ctrl-Shift- ...
- jquery 去除 css 的 background-image 样式
首先我使用了这个: $('#**').css('background-image', null); 没有效果...... 然后我用了这个: $('#staffName').css('backgroun ...
- Zabbix Web 中文字体显示问题
- django.core.exceptions.ImproperlyConfigured: The included URLconf 's9luffycity.urls' does not appear to have any patterns in it. If you see valid patterns in the file then the issue is probably caused
出现问题: $ python manage.py runserver 启动项目报错时候 raise ImproperlyConfigured(msg.format(name=self.urlconf_ ...