butterknife的一个bug

butterknife的一个bug

在使用butterknife的时候,会碰到这么一个错误:

Required view XXX for method ‘onClick’ was not found. If this view is optional add ‘@Nullable’ (fields) or ‘@Optional’ (methods) annotation.

emmm…这个view找不到?
百度之,发现99%的文章都是按照字面意思处理的(我就是这1%,哈哈哈)
字面意思是,让你在出错的地方添加注解,防止报错。
在变量的地方添加@Nullable,在方法的地方添加@Optional。

你以为这就完了?你不想想么 这么出名的框架,哪能这么简单就出错??
重点落在第一句,view没找到,怎么会找不到呢?!
全局搜索这个id,发现在另一个界面也有这个id的onClick事件,但是他的xml里面并没有这个id的view!!
在另一个界面,既然没有这个view,也就不会有他的onClick,删除之!
rebuild,run!
你看,不报错了吧!!

这其实不是butterknife的bug,就是写代码不仔细,出了问题。
再举个栗子,我自己经常犯的。
如果需要界面加长按事件,我一般都会直接复制点击事件,改一下id和逻辑就直接运行了。
结果当然是报错了,原来点击事件要求方法返回void,但是长按事件要求方法返回boolean。
你看,多么low的错误。

其实有时候挺烦注解这东西,使用是简单了,但是一旦出了错,那太难追溯问题所在了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值