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.是全局的,所有人通用。
声明:本系列文字可能不太严谨,请阅读者自我甄别。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)