设为首页 加入收藏

TOP

Kotlin exception
2019-09-03 02:47:15 】 浏览:35
Tags:Kotlin exception

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了

 

 

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

  

 

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Android 无源码smail进行debug 下一篇【Android】Android多渠道打包--G..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目