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的更多相关文章

  1. android data binding jetpack VIII BindingConversion

    android data binding jetpack VIII BindingConversion android data binding jetpack VII @BindingAdapter ...

  2. android data binding jetpack VI 清理一些概念。BR 运算表达式

    android data binding jetpack VIII BindingConversion android data binding jetpack VII @BindingAdapter ...

  3. android data binding jetpack V 实现recyclerview 绑定

    android data binding jetpack VIII BindingConversion android data binding jetpack VII @BindingAdapter ...

  4. android data binding jetpack IV 绑定一个方法另一种写法和参数传递

    android data binding jetpack VIII BindingConversion android data binding jetpack VII @BindingAdapter ...

  5. android data binding jetpack II 动态数据更新

    android data binding jetpack VIII BindingConversion android data binding jetpack VII @BindingAdapter ...

  6. android data binding jetpack I 环境配置 model-view 简单绑定

    android data binding jetpack VIII BindingConversion android data binding jetpack VII @BindingAdapter ...

  7. android data binding jetpack III 绑定一个方法

    第三篇 给view绑定一下方法响应. (补充:1.被绑定的方法必须是public的.   1.绑定方法可以用主语法.也可以用以下双冒号方式“::” android:onClick="@{pr ...

  8. android data binding jetpack VIIII 第一坑

    <LinearLayout android:id="@+id/ll_item_home_page_pics" android:layout_width="wrap_ ...

  9. Android Data Binding Library

    Data Binding Library Data Binding Library是一个支持库,允许您使用声明格式(而不是编程)将布局中的UI组件与应用程序中的数据源绑定. 布局通常在调用UI框架方法 ...

随机推荐

  1. vue 实现textarea展示时自动换行

    利用 v-html 展示 str.replace(/\n|\r\n/g, '<br>') 数据 完美解决

  2. 转载:PHP扩展函数库-文件系统、进程与网络

    PHP的扩展函数库十分庞大,官方的非官方的,在这里只记录一些目前比较常用的扩展,对于这一部分,也只是记录其中一些核心的函数,不是一个全面记录.对于详细的扩展函数说明,需要在使用中参考PHP的用户手册. ...

  3. golang在linux后台执行的方法

    go build ./index.go 会生成一个index的运行文件 nohup index & 后台运行index文件 killall index 你可能还要关闭index set GOA ...

  4. nodejs request module里的json参数的一个坑

    今天工作的时候遇到一个坑,在客户端用nodejs给服务器发送HTTP请求,服务器老是报错:In the context of Data Services an unknown internal ser ...

  5. CHD-5.3.6集群上oozie安装

    参考文档:http://archive.cloudera.com/cdh5/cdh/5/oozie-4.0.0-cdh5.3.6/DG_QuickStart.html tar -zxvf  oozie ...

  6. Django的ORM获取单表数据的三种方法

    前言主题是从数据库取数据,把数据展现到前端客户端 一共有三种方法如下: 1,以对象的方法: 2,以字典的方法: 3,以元组的方法: 以对象的方法 说明:获取的是QuerySet类型,输出的是每个元素都 ...

  7. Linux小试牛刀

    1.统计出/etc/passwd文件中其默认shell为非/sbin/nologin的用户个数,并将用户都显示出来 [root@centos7data]#getent passwd | grep -v ...

  8. 05_Hive分区总结

    2.1.创建分区表并将本地文件的数据加载到分区表: 使用下面的命令来创建一个带分区的表 通过partitioned by(country string)关键字声明该表是分区表,且分区字段不能为crea ...

  9. 关于join() 是否会释放锁的一些思考

    # 首先从一个很有意思的问题开始: - 问 : Thread 的join() 方法是否会释放锁? - 答: 会! # 如果一切到这里就结束了,那可能也就没有这篇小记了,但是我的脑子却冒出了一些奇怪的想 ...

  10. 接口调用实现类&& 为什么Autowired定义在接口上

    1.接口与回调 package edu.cqu.interfaceTest; import java.awt.Toolkit; import java.awt.event.ActionEvent; i ...