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. XML模块与类的定义

    xml模块 xml介绍: --XML 全称  可扩展标记语言 --<tag></tag>  双标签   标签中间可以加入文本信息 --<tag/>单标签  没有文本 ...

  2. ASP.NET---如何使用web api创建web服务

    1 首先创建asp.net web空项目,并且创建模拟数据,我在工程下面创建了一个Models文件夹,在文件夹Nodels下面创建类Product和Repository 具体如下: [Serializ ...

  3. Rabbitmq各方法的作用详解

    exchange_declare('direct_logs', 'direct', false, false, false);// 这个是申明交换器,如果没有申明就给默认队列的这个交换器,而且发送的类 ...

  4. Centos7安装dig命令

    作者: jwj 时间: 2018-10-17 分类: 服务器 最近做一个项目,需要用到Gmail邮箱发送邮件,但发现发送不出去.排查问题时,需要用到dig命令,但使用时,却提醒我dig命令不存在~那就 ...

  5. okhttp拦截器之ConnectInterceptor解析

    主流程分析: 继续分析okhttp的拦截器,继上次分析了CacheInterceptor缓存拦截器之后,接下来到连接拦截器啦,如下: 打开看一下它的javadoc: 而整个它的实现不长,如下: 也就是 ...

  6. CF1009F Dominant Indices——长链剖分优化DP

    原题链接 \(EDU\)出一道长链剖分优化\(dp\)裸题? 简化版题意 问你每个点的子树中与它距离为多少的点的数量最多,如果有多解,最小化距离 思路 方法1. 用\(dsu\ on\ tree\)做 ...

  7. Modbus教程| Modbus协议,ASCII和RTU帧,Modbus工作

    转载自:https://www.rfwireless-world.com/Tutorials/Modbus-Protocol-tutorial.html 这个Modbus教程涵盖了modbus协议基础 ...

  8. hive数据仓库表设计之(矮宽表+高窄表)

    昨天面对某客户域做表关联的时候发现了. 有两张相同内容的主表.但是表的设计结构并不相同: (每个领域都有主表,每次往这个领域(库)添加新表的时候一般都会join 主表,从而有唯一的主键id) 这两个表 ...

  9. Lighting Techinology of the Last Of Us (2013 SIGGRAPH)

    Lighting Techinology of the Last Of Us(2013 SIGGRAPH) or "Old Lightmaps - New Tricks" 原作:M ...

  10. 一文学会redis从零到入门

    本文参照视屏学习整理:https://www.bilibili.com/video/av16841549/?p=9 相关软件.资料: 基本条件:有虚拟机或相关linux系统,熟悉基本linux操作 本 ...