数据绑定的采坑之旅

作者:咕魂

时间:2021年3月17日14:58:20

数据绑定中的属性值

databinding用起来很方便,但是一旦碰到错误找起来非常麻烦

在控制布局或组件显示状态时,普通写法是xxx.setVisible(View.xxx)

当多个组件需要控制时会产生非常多的重复性代码,很不雅观

数据绑定很好的解决了这个问题

我们不能直接使用 字符串写法,字符串类型不匹配,没有效果或者直接报错

<!--其中display是在data中定义的String类型数据-->
android:visibility='@{""+display}'

网上很多写法是 boolean数据类型,但会发现,View下面会有红线,调用不了

<!--其中show是在data中定义的boolean类型数据-->
android:visibility='@{show?View.VISIBLE:View.GONE}'

布局文件中属性定义

仔细观察setVisiable的参数,是int类型

好,我们在data中定义int类型的数据

<!--其中show是在data中定义的int类型数据-->
<data>
<variable
name="showView"
type="int" />
</data>
//java代码中对属性修改
binding.setShowView(View.GONE);
binding.setShowView(View.VISIBLE);

运行发现,成功了

每天的调bug之路就是这么的朴实无华,虽然几分钟四行代码就能解决问题,但是数量多的时候效率太低,干嘛不花点时间把代码写的华丽一些呢?

android:visibility数据绑定中的属性值的更多相关文章

  1. <s:property="a" value=""/>取的<s:debug></s:debug>中的value stack中的属性值

    <s:property="a"  value=""/>取的<s:debug></s:debug>中的value stack中 ...

  2. 将source类中的属性值赋给target类中对应的属性

    /** * 对象的属性值拷贝 * <p> * 将source对象中的属性值赋值到target对象中的属性,属性名一样,类型一样 * <p> * example: * <p ...

  3. Spring中使用@Value读取porperties文件中的属性值方法总结及注意事项

    本文为博主原创,转载请注明出处. 此前曾总结过使用工具类读取properties文件中的属性值,有兴趣的可以看一下. 如何快速获取properties中的配置属性值:https://www.cnblo ...

  4. 【Python】获取翻页之后的各页面中的属性值。

    如何获取翻页之后的页面中的html标签中的属性值? # coding=utf-8 from selenium import webdriver if __name__=="__main__& ...

  5. ajax取到数据后如何拿到data.data中的属性值

    今天遇到的ajax取到数据后如何拿到data.data中的属性值的问题 比如拿到了数据 我要取出data中的name 题外话:当然取名最好别取什么奇怪的xiaobi

  6. Implement Property Value Validation in the Application Model 在应用程序模型中实现属性值验证

    In this lesson, you will learn how to check whether or not a property value satisfies a particular r ...

  7. Jquery 如何替换html字符串中标签属性值 ??

    如何利用JQuery 替换HTML字符串中的属性值呢? 如 html 字符串有很多 img标签,现在需要修改 img的src值 var html="<div style="t ...

  8. 【Android】Android布局文件的一些属性值

    第一类:属性值 true或者 false   android:layout_centerHrizontal 水平居中 android:layout_centerVertical 垂直居中 androi ...

  9. 在函数中处理html点击事件在标签中增加属性值来解决问题。

  10. spring boot 读取配置文件(application.yml)中的属性值

    在spring boot中,简单几步,读取配置文件(application.yml)中各种不同类型的属性值: 1.引入依赖: <!-- 支持 @ConfigurationProperties 注 ...

随机推荐

  1. 【经验】IDA|python 脚本怎么使用反汇编的变量,以及获取反汇编地址上的值,附 IDA的output窗口被不小心关掉了的打开方式

    文章目录 IDA脚本怎么用变量--怎么获取目标文件内的值(python) 1 获取地址 2 获取地址上的值 可能出现的问题:NameError: name 'Byte' is not defined ...

  2. Bolt DIY架构揭秘:从模型初始化到响应生成的技术之旅

    Bolt DIY 是一个强大的开源AI辅助开发工具,允许用户在浏览器中进行全栈Web开发.它的核心特点是支持多种大型语言模型(LLM),包括OpenAI.Anthropic.Ollama.Google ...

  3. 操作系统 -- linux初始化(上):GRUB与vmlinuz的结构

    本节树立启动的整体流程,重点解读Linux上GRUB是怎样启动,以及内核里的"实权人物"-- vmlinuz内核文件是如何产生和运转的. 全局流程 在机器加电后,BIOS会进行自检 ...

  4. argparse基本功能极简介绍

    argparse基本功能极简介绍 python脚本文件可以通过命令行的方式调用,在这种调用方法中,可以通过sys.argv来把命令行参数传入脚本文件,通过这种方式传入的参数是string,并且需要将该 ...

  5. B1037 在霍格沃茨找零钱

    如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 -- 就如海格告诉哈利的:"十七个银西可(Sickle)兑一个加隆(Galleon),二十九个纳特(Knut)兑一个西可,很容易.& ...

  6. windows安装node.js加配置淘宝镜像

    下载:https://nodejs.org/en/download/ 一路默认,或者选自己的路径,装好后打开cmd, 输入 node --version 显示版本. 是的,环境自己就配置好了! 配置淘 ...

  7. System.currentTimeMillis()与时区无关

    摘要:System.currentTimeMillis()获取的时间戳与时区无关. 综述   System.currentTimeMillis()经常被用来获取当前时间戳,单位是毫秒,可以用来计算当前 ...

  8. elasticsearch RestHighLevelClient 关于document的常用操作 ---------- 删除篇

    es删除操作大致分为:基于id的单条删除.基于id的批量删除.自定义条件的删除 基于id的单条删除:DeleteRequest 基于id的批量删除:BulkRequest中通过多个DeleteRequ ...

  9. 【转载】Refletor源码分析

    Refletor源码分析 Informer 通过对 APIServer 的资源对象执行 List 和 Watch 操作,把获取到的数据存储在本地的缓存中,其中实现这个的核心功能就是 Reflector ...

  10. 你必须知道的容器日志 (2) 开源日志管理方案 ELK/EFK

    本篇已加入<.NET Core on K8S学习实践系列文章索引>,可以点击查看更多容器化技术相关系列文章.上一篇<你必须知道的容器日志(1)>中介绍了Docker自带的log ...