目标:

在xml中自定义属性双向绑定,常用于一些自定义view中的EditText监听数据变化

使用

<EditText  app:bindingName='@={binding.name}'  ... >
  1. 自定义属性的 setXXX
@BindingAdapter("bindingName")
@JvmStatic
fun setBindingName(edt : EditText, txt : String){edt.setText(txt)
}
  1. 自定义属性的 getXXX
@InverseBindingAdapter(attribute = "bindingName")
@JvmStatic
fun getBindingName(edt : EditText) : String{return edt.text.toString()
}
// attribute不能少
  1. .编写属性变化监听器及想要监听的事件,监听器进行关联
@BindingAdapter("bindingNameAttrCbhanged")
@JvmStatic
fun setBindingListener(edit : EditText, listener: InverseBindingListener?) {var txt = ""edit.addTextChangedListener(object : TextWatcher{override fun afterTextChanged(p0: Editable?) {if (txt != p0.toString()){// 会通知属性调用InverseBindingAdapter注解方法listener?.onChange()txt = p0.toString()}edit.setSelection(txt.length)}override fun beforeTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {}override fun onTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {}})}

Android自定义的属性使用双向绑定相关推荐

  1. android自定义控件是一个 内部类 如何在xml中引用,android 自定义view属性

    android 自定义view属性 一个完美的自定义控件也可以添加xml来配置属性和风格.要实现这一点,可按照下列步骤来做: 1) 添加自定义属性到xml文件中 2) 在xml的中,指定属性的值 3) ...

  2. Android自定义XML属性以及遇到的命名空间的问题

    转载请注明出处:http://www.cnblogs.com/kross/p/3458068.html 最近在做一些UI,很蠢很蠢的重复写了很多代码,比如一个自定义的UI Tab,由一个ImageVi ...

  3. android自定义组件属性,android自定义控件并添加属性的方法以及示例

    安卓系统为我们提供了丰富的控件,但是在实际项目中我们仍然需要重新通过布局来实现一些效果,比如我们需要一个上面图标,下面文字的button,类似于下面这样的: 最直接的解决办法是通过将imageview ...

  4. android 自定义xml属性

    Android 自定义组件 Android 提供了非常精致的和非常强大的组件化模型,能够更加方便的构建UI,这些UI组件都是基于基本的layout类:View 和 ViewGroup. 部分能够用的w ...

  5. Angular自定义组件实现ngModel双向绑定

    1.自定义组件ts @Component({selector: 'app-custom-tree',templateUrl: './custom-tree.component.html',styles ...

  6. 解决WPF ListView虚拟化ListViewItem的IsSelected属性MVVM双向绑定bool值后出现的绑定错乱的问题

    在一次使用WPF ListView的时候,我发现在MVVM模式下在ListView开启虚拟化的情况下,将ListViewItem的IsSelected属性与一个对应的布尔值进行双向绑定. 文档目录结构 ...

  7. Vue自定义组件数组型双向绑定

    実践发现,对于数组类型,使用.sync不能実现双向绑定. 只能通过@方法 的方式来実现.

  8. Vue自定义组件--输入框的双向绑定--自动切换输入法的录入框

    最简单的Input的封装 HtmlInput.vue <template><div><input :value="value" @input=&quo ...

  9. android自定义组件属性,Android组合控件详解 自定义属性

    组合控件详解 & 自定义属性 组合控件是自定义控件的一种,只不过它是由其他几个原生控件组合而成,故名组合控件. 在实际项目中,GUI 会遇到一些可以提取出来做成自定义控件情况. 一个自定义控件 ...

  10. android+属性动画+高度,android 自定义view+属性动画实现充电进度条

    近期项目中需要使用到一种类似手机电池充电进度的动画效果,以前没学属性动画的时候,是用图片+定时器的方式来完成的,最近一直在学习动画这一块,再加上复习一下自定义view的相关知识点,所以打算用属性动画和 ...

最新文章

  1. ORACLE执行计划的一些基本概念
  2. 运行Python的三种方法
  3. 【c++】11.重写、覆盖、using、typedef
  4. oracle 唯一索引,唯一约束,主键之间的联系
  5. json数据解析_「Flutter实战」22.JSON解析和复杂数据模型转换
  6. Spring重试–与项目集成的方式
  7. VMware 9 安装 Mac OS X 10.8 Mountain Lion 图文全程
  8. VS 2012 找回消失的“创建单元测试”
  9. 验证码——ImageIO.write的坑
  10. 几种常见的微服务架构方案——ZeroC IceGrid、Spring Cloud、基于消息队列、Docker Swarm...
  11. linux 键盘 键值0x1e,Linux文本处理三剑客之awk学习笔记11:选项、内置变量和内置函数...
  12. tcp_nodelay memcached java_spymemcached 的 useNagle 问题与 TCP/IP延迟发送数据
  13. 罗技无法使用计算机上的配置文件,罗技游戏软件检测不到游戏启动,导致无法自动切换配置文件...
  14. 如何在知网下载PDF文件
  15. 网页设计与制作项目教程HTML+CSS+JavaScript之项目二
  16. Mumble安装部署教程
  17. 端午节,我们失去的太多了
  18. DOS命令格式化制作U盘
  19. 某云安全扫描对SQL Server潜入的观察日记
  20. 牧场物语矿石镇的伙伴们详细攻略

热门文章

  1. Performance Engineering of Software Systems (四) ——工具使用
  2. ARMv8的OP-TEE源代码的获取和编译
  3. 基于JWT前后端token认证
  4. X264结构体中的变量解释
  5. 数据库程序设计复习资料
  6. AVL树原理理解:旋转与平衡
  7. 打开html文件显示undefined,undefined是什么?电脑网页出现undefined时如何解决?
  8. 4083. 最大公约数
  9. 组网技术-路由与交换技术(五)
  10. Linux内核绑定1号cpu,Linux绑定硬件IRQ到指定CPU核