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了
?
?
解決后的代碼,運行一波,完美
??
?
轉載于:https://www.cnblogs.com/LiuZhen/p/11394941.html
總結
以上是生活随笔為你收集整理的Kotlin exception的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux命令——find详解
- 下一篇: mac python3 安装mysqlc