DataBinding点击事件没有反应

根据官方文档,发现点击事件并没有触发

<data>
        <variable
            name="user"
            type="com.m.databindingdemo.model.User"/>
        <variable
            name="handlers"
            type="com.m.databindingdemo.model.MyHandlers"/>
    </data>

。。。

<TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="18sp"
            android:text="@{user.firstname}"
            android:onClick="@{handlers::onClickFriend}"
            />

 

Handler:

class MyHandlers {

    fun onClickFriend(view: View) {
        Toast.makeText(view.context,"test method reference",Toast.LENGTH_LONG).show()
    }
}

原因是需要绑定:

val binding = DataBindingUtil.setContentView<ActivityMainBinding>(this, R.layout.activity_main)
binding.handlers = MyHandlers()  //关键语句

  

参考:

1.http://blog.youkuaiyun.com/xiaolaohuqwer/article/details/79161338

【Android Jetpack高手日志】DataBinding 从入门到精通 } @Bindable //需要变更的变量还要加上 @Bindable 注解 public String getAge() { return age; } @Bindable //需要变更的变量还要加上 @Bindable 注解 public String getName() { return name; } } TestInfo需要继承BaseObservable,同时对于需要监听变化的变量加上@Bindable 注解,同时该变量的set方法还要加上notifyPr 阅读详情

相关推荐

Android SearchView与DataBinding双向绑定实战指南

SearchView是Android中实现搜索交互的核心组件,其本质是封装了查询输入、状态管理与系统服务集成的复合控件;DataBinding则通过声明式语法将UI状态映射为可观察数据流,实现ViewModel驱动的响应式更新。该技术组合的价值在于规避传统findViewById+TextWatcher方案中的生命周期错位、状态不同步与测试困难等工程顽疾,显著提升搜索功能的可维护性与稳定性。典型应用场景包括电商商品搜索、内容类App的实时检索、支持多语言提示与键盘联动的搜索页重构。本文聚焦SearchVie

weixin_30832405的博客 346

android动态按钮事件无效,DataBinding 点击事件无效

前言刚加入MVVM阵营不久,踩了不少坑,今天说说关于DataBinding的坑对于DataBinding如何实现 onClick,推荐大家看看这篇文章DataBinding onClick 的几种点击方式如果有跟我一样上面方法都试遍了,但就是没能实现效果的,可以往下看正题1.我的方法定义位置(CommentsViewModel.java)public class CommentsViewModel...

weixin_39785150的博客 968

【Android Jetpack高手日志】DataBinding 从入门到精通(1)

例如,如果要在名为MyView的自定义视图中对"time"使用,对用来设置初始值并在值更改时进行更新的方法进行注释:使用对从视图中读取值的方法进行注释:更多内容请参考这里。

erhtre的博客 1047

解决DataBinding点击无响应

DataBinding点击无响应怎么办?来看看解决方法吧。

Austin的博客 637

Android MVVM框架搭建(一)ViewModel + LiveData + DataBinding

如果你看到了这里,觉得文章写得不错就给个赞呗?如果你觉得那里值得改进的,请给我留言。一定会认真查询,修正不足。欢迎大家一起交流讨论啊~《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!起的朋友,同时减轻大家的负担。**[外链图片转存中…(img-0qOCJFsO-1713720536591)][外链图片转存中…(img-2Kl5pXWT-1713720536593)][外链图片转存中…(img-idTVhCsb-1713720536594)]

2401_84149724的博客 1564

直线型一阶倒立摆1---从理论到实践的桥梁

本文深入探讨了直线型一阶倒立摆在控制理论中的核心地位,从非线性控制、鲁棒性到实时反馈等关键问题。通过实际案例和硬件搭建指南,帮助读者理解从理论到实践的过渡,特别适合控制工程初学者和研究人员。文章还提供了算法选型建议和硬件避坑手册,是掌握倒立摆控制的实用指南。

weixin_29047545的博客 319

DataBinding 绑定点击事件无效解决

DataBinding官方文档 按照官方文档绑定点击事件,布局一个button data中定义name 和导入 type layout xmlns:android="http://schemas.android.com/apk/res/android"> data> variable name="handlers" ty

Android_小菜菜的博客 4978

C#通过Aforge调用电脑摄像头(附代码)

C#标准库本身不带有能调用电脑摄像头的库,如果利用windows自身的API来实现的话,着实有些麻烦。Aforge这个第三方库能很好的实现调用、处理的功能。 PS:文末给大家分享了完整的项目源码,各位最好先下载下来,对照着来看 1、先看一下效果 2、Aforge介绍 AForge.NET是一个专门为开发者和研究者基于C#框架设计的,这个框架提供了不同的类库和关于类库的资源,还有很多应用程序例子,包括计算机视觉与人工智能,图像处理,神经网络,遗传算法,机器学习,机器人等领域。 3、我使用的开发环境 操作系统

weixin_44996090的博客 1万+

android按钮点击事件没有反应,DataBinding点击事件没有反应

1. 在布局文件中:name="presenter"type="com.xogrp.planner.user.contract.UserProfileContract.Presenter" />android:id="@+id/iv_cover_photo"android:layout_width="0dp"android:layout_height="0dp"android:import...

weixin_31614753的博客 814

LIN 协议测试

如下图,使用PicoScope示波器抓取报文Id为0x18的波形,数据场Byte1的长度为519.994μs,Byte1共10bit,计算位时间:tBit= 519.994/10 = 51.9994μs,符合预期。■ 唤醒信号是一个250μs到5ms的显性电平,发送唤醒信号的节点发送唤醒信号后150ms~250ms没有收到其他节点的唤醒信号,发送唤醒信号的节点发送新的唤醒信号。对于LIN主节点,检查发送的帧头长度是否符合设计要求,对于LIN从节点,检查从节点能否正确响应设计范围之内的帧头长度。

m0_63902994的博客 5936

SAP MD81创建客户独立需求简介

正常我们用的最多的计划独立需求都是使用的是MD61 ,今天我们说下SAP的另外的一个标准功能客户独立需求MD81。虽然SAP给这个TCODE的描述是客户独立需求,但是实际是没有地方去关联对应的客户信息的。可以看到根据客户需求产生了对应的计划订单,我们创建的时候选择的KSV是按库存生产的,所以转换的时候生产订单也按单生产的。上面填写的这些字段的信息是不是和我们销售订单里面的字段的信息很相似。1)填写交货日期,可以选择按月 ,按日,按周等类型选择对应的日期。保存后会显示对应的客户独立需求的号码,如下图。

我小时候很黑的博客 2904

DataBinding的使用

什么是databinding?Android 团队发布了一个数据绑定框架(Data Binding Library)。以后可以直接在 layout 布局 xml 文件中绑定数据了,无需再 findViewById 然后手工设置数据。配置 dataBinding{ enabled = true }MVVM 至于MVVM基本上和MVP一模一样,感觉只是名字替换了一下。他的关键技

Small_Lee的博客 2918

android使用DataBinding踩坑记录

---error: duplicate attribute. 估计很多人遇到后都不知道怎么办,但一直提示layout文件有问题,所以就尝试将跟布局的width和height属性去掉,然后就没有这个问题了 ---有ViewPager的界面必须为ViewPager设置一个id 在没有使用DataBinding的时候,通常都会为ViewPager设置一个id.有一次在使用的时候结合Data...

杜壁奇的博客 4996

假期搞定!2026国社科申报AI全攻略指南:从选题到创新,7大核心要点手把手教你!

最后给大家推荐的400多所高校教师都在用的AI平台——高级学术版专业应用平台,集成了国际主流学术应用,以及ChatGPT、Claude、Gemini、Grok等Al大模型的高级版本平台,还有,可以辅助大家高效完成科研和学术写作任务,当然撰写硕博论文,课题、职称论文、国社科、国自然基金本子也是手拿把掐。你的任务是:用高度凝练的方式说明在(某一明确国家战略 / 政策方向,如:中国式现代化、共同富裕、基层治理现代化、数字中国、文化强国、国家安全等)背景下,我究竟要研究一个什么“具体而可操作的问题”。

智能AI让学术科研更容易 625

编写python脚本调用ordinals以及BRC20的接口

1、钱包地址生成walletreceive,对应ord命令:ord wallet receive。6、测试手动出块generate,这个只在regtest链节点用得上。所有接口都是post请求,采用postman进行测试。4、测试bitcoin转币sendtoaddress。7、测试其他的wallet方法wallet。2、钱包币种铭刻inscription,对应bitcoin-cli命令。对应bitcoin-cli命令。对应bitcoin-cli命令。fee.json文本模板。还可以加很多根据需要加减。

云深海阔专栏 1048

Android SearchView与DataBinding深度集成实战

SearchView是Android原生搜索控件,封装了图标动画、软键盘智能适配、历史记录和语音搜索等关键能力;其核心原理在于通过SearchManager协调输入事件与Activity生命周期。在MVVM架构下,传统findViewById+监听器模式易引发内存泄漏、状态不同步与事件时序错乱等问题。DataBinding通过双向绑定(@=)、@BindingAdapter与InverseBindingAdapter机制,将SearchView从‘被操作对象’转变为‘状态响应视图’,实现输入文本、展开状态、

weixin_34301132的博客 300

华为OD机试真题 新系统2026-04-08 Python&JS 实现【配置操作失败数量统计】

模拟一个系统的命令行配置,包含添加、修改、删除三项操作,详情如下: 添加操作命令:add_rulerule_id=1rule_index = 18 修改操作命令: mod_rule rule_id= 1rule_index = 100 删除操作命令:del_rulerule_id=1

MISAYAONE的博客 586

DataBinding 初探

DataBinding DataBinding是把数据直接绑定到 XML 文件上,并能实现自动刷新。减少了代码的耦合性,一些如 findViewById、setText 之类的操作都可以通过绑定实现。 基本用法 演示将User数据绑定到 XML 上的实现。 build.gradle配置 启用DataBinding非常简单,只需要在对应module的build.gradle配置即可。 android { .... dataBinding { enabled = true

qq_32086641的博客 267

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

【Android Jetpack】DataBinding 从入门到精通(1)

例如,如果要在名为MyView的自定义视图中对"time"使用,对用来设置初始值并在值更改时进行更新的方法进行注释:使用对从视图中读取值的方法进行注释:更多内容请参考这里。下面是辛苦给大家整理的学习路线《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!setTarget就是给被观察者添加监听器= null) {这里的的实现类是,也就是每个属性发生变化后都会进行回调@Override下面是辛苦给大家整理的学习路线。

2401_84408337的博客 886

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

MVVM之DataBinding模式的基本使用

简介 View:主要进行视图控件的一些初始设置,不应该有任何的数据逻辑操作。 Model:定义实体类,以及获取业务数据模型,比如通过数据库或者网络来操作数据等。 ViewModel:作为连接 View 与 Model 的中间桥梁,ViewModel 与 Model 直接交互,处理完业务逻辑后,通过 DataBinding 将数据变化反应到用户界面上。 配置 在 Module:app...

白云天的博客 531
上一篇: 如何使用databinding in kotlin
下一篇: databingding的一些总结
jameskaron
博客等级 码龄20年 31粉丝 663原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值