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了

 

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

 

Kotlin exception的更多相关文章

  1. 【转】Kotlin 和 Checked Exception

    Kotlin 和 Checked Exception 最近 JetBrains 的 Kotlin 语言忽然成了热门话题.国内小编们传言说,Kotlin 取代了 Java,成为了 Android 的“钦 ...

  2. 使用IntelliJ工具打包kotlin为bat文件运行报错 Exception in thread "main" java.lang.NoClassDefFoundError

    Exception in thread "main" java.lang.NoClassDefFoundError 这个很有可能是因为idea里的java版本与电脑上的java环境 ...

  3. Kotlin开发语言文档(官方文档)-- 目录

    开始阅读Kotlin官方文档.先上文档目录.有些内容还未阅读,有些目录标目翻译还需琢磨琢磨.后续再将具体内容的链接逐步加上. 文档链接:https://kotlinlang.org/docs/kotl ...

  4. 用Kotlin改写PHP程序是什么样的体验

    学Kotlin其实要看:http://kotlinlang.org/docs/kotlin-docs.pdf 在线版是不完整的!!!少了一些章节,会有点难看懂后面的文档. 我选择了WordPress里 ...

  5. 用Kotlin开发Android应用(I):介绍

    关于Kotlin,网上已有一些介绍的文章,包括Antonio Leiva的这组blog翻译稿.不过,我还是想跟进它们.翻译它们,以锻炼自己的英文翻译.各位高手发现问题,请及时“拍砖”. 原文题目:Ko ...

  6. 【Bugly 技术干货】Android开发必备知识:为什么说Kotlin值得一试

    1.Hello, Kotlin Bugly 技术干货系列内容主要涉及移动开发方向,是由 Bugly邀请腾讯内部各位技术大咖,通过日常工作经验的总结以及感悟撰写而成,内容均属原创,转载请标明出处. 1. ...

  7. Kotlin语法(其他)

    三.其他 [TOC] 1. 多重声明 有时候可以通过给对象插入多个成员函数做区别是很方便的: val (name, age) = person 多重声明一次创建了多个变量.我们声明了俩个新变量:nam ...

  8. 使用Kotlin开发Android应用(I):简单介绍

    使用Kotlin开发Android应用(I):简单介绍 @author ASCE1885的 Github 简书 微博 CSDN 原文链接 Kotlin是一门基于JVM的编程语言.它正成长为Androi ...

  9. Kotlin

    关于Kotlin,网上已有一些介绍的文章,包括Antonio Leiva的这组blog翻译稿.不过,我还是想跟进它们.翻译它们,以锻炼自己的英文翻译.各位高手发现问题,请及时“拍砖”. 原文题目:Ko ...

随机推荐

  1. Preact(React)核心原理详解

    原创: 宝丁 玄说前端 本文作者:字节跳动 - 宝丁 一.Preact 是什么 二.Preact 和 React 的区别有哪些? 三.Preact 是怎么工作的 四.结合实际组件了解整体渲染流程 五. ...

  2. Spring AOP简介与底层实现机制——动态代理

    AOP简介 AOP (Aspect Oriented Programing) 称为:面向切面编程,它是一种编程思想.AOP 是 OOP(面向对象编程 Object Oriented Programmi ...

  3. LightOJ 1253 Misere NIM(反NIM博弈)

    Alice and Bob are playing game of Misère Nim. Misère Nim is a game playing on k piles of stones, eac ...

  4. 【JS】379- 教你玩转数组 reduce

    reduce 是数组迭代器(https://jrsinclair.com/articles/2017/javascript-without-loops/)里的瑞士军刀.它强大到您可以使用它去构建大多数 ...

  5. rails 各种分组统计查询

    SpecialGroup.group(:special_type).countselect special_type,count(*) from special_groups group by spe ...

  6. docker-网络模式

    Docker自身的4种网络工作方式,和一些自定义网络模式 安装Docker时,它会自动创建三个网络,bridge(创建容器默认连接到此网络). none .host host:容器将不会虚拟出自己的网 ...

  7. centos7 7.3php编译安装

    1.首先更新依赖包. yum -y update 2.安装依赖包 yum -y install libxml2 libxml2-devel openssl openssl-devel bzip2 bz ...

  8. android studio 点击后,不打开上次的项目,

    取消勾选Reopen last project on startup选项,

  9. 抓包工具Charles的使用说明

    Charles介绍&前期准备: Charles介绍:Charles跟fiddler是目前行业中比较常用的抓包工具,这里主要介绍Charles的使用,fiddler的使用类似. 前期准备:使用前 ...

  10. 建议2:注意Javascript数据类型的特殊性---(1)防止浮点数溢出

    1.防止浮点数溢出 二级制的浮点数不能正确地处理十进制的小数,因此 0.1+0.2不等于0.3 num = 0.1+0.2; //0.30000000000000004 这是JavaScript中经常 ...