cannot generate view binders java.lang.StackOverflowError
最近写kotlin项目,使用databinding,在适配器中定义了事件接口,在适配器中添加了长按事件,setVariable longClick,同样的还有点击事件,结果一添加长按事件就报错,没关系,稳住,百度一下
但是看到这样的异常心里有种感觉,估计百度可能会不行(百度:我行),结果我的天,各种花里胡哨的异常,并不是我想要的,然后我开始怀疑我本身的代码,但是尝试了很多方法,没效果,
于是我去github上看了很多库,并没有发现什么,后来谷歌(谷歌:我行)了一把,然后突然看到一个标题,我喜出望外,果然,这哥们跟我同病相怜,一模一样
参考:https://n8ebel.github.io/2017-07-27-bug-busting-databinding-onLongClick/
由于java的习惯,我们写kotlin的时候容易忽略很多问题,先看我本身的代码,如下图,然后在addLongEvent,没问题,但是看了这篇文章发现忽略了一个地方,里面有一句话,
In Listener Bindings, only your return value must match the expected return value of the listener (unless it is expecting void),看到了,must return value,跟文章的一样,That was my “ah ha!” moment.
不对,我应该是“卧槽“,才发现长按事件因为是自定义接口加入绑定的,所以忽略了返回值,然后我们的androidstudio又是这么的强大(as:我很叼),唯一的庆幸是我很明确的知道我是添加长按事件后才导致的,不然我还真的无从下手,在LongFunction接口处添加一个boolean类型返回就ok了
解决后的代码,运行一波,完美
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 【.NET】调用本地 Deepseek 模型