欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Kotlin exception

程序员文章站 2023-11-18 16:09:58
cannot generate view binders java.lang.*Error 最近写kotlin项目,使用databinding,在适配器中定义了事件接口,在适配器中添加了长按事件,setVariable longClick,同样的还有点击事件,结果一添加长按事 ......

cannot generate view binders java.lang.*error

 最近写kotlin项目,使用databinding,在适配器中定义了事件接口,在适配器中添加了长按事件,setvariable longclick,同样的还有点击事件,结果一添加长按事件就报错,没关系,稳住,百度一下

但是看到这样的异常心里有种感觉,估计百度可能会不行(百度:我行),结果我的天,各种花里胡哨的异常,并不是我想要的,然后我开始怀疑我本身的代码,但是尝试了很多方法,没效果,

于是我去github上看了很多库,并没有发现什么,后来谷歌(谷歌:我行)了一把,然后突然看到一个标题,我喜出望外,果然,这哥们跟我同病相怜,一模一样

Kotlin exception

Kotlin exception

 

参考: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了

 

Kotlin exception Kotlin exception

解决后的代码,运行一波,完美

 Kotlin exception Kotlin exception