随笔 - 262  文章 - 0  评论 - 5  阅读 - 20万

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.是全局的,所有人通用。

 

 

声明:本系列文字可能不太严谨,请阅读者自我甄别。

 

posted on   wp7ers  阅读(360)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
< 2025年3月 >
23 24 25 26 27 28 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

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