请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

为什么我写上@OnClick注解之后运行程序会报错

具体错误:Caused by: java.lang.IllegalStateException: Required view ‘im_search’ with ID 2131296398 for method ‘onSearchMenuClick’ was not found.
图片描述
我看了后面的提示,结合百度,在@OnClick前面加上了@Optional,错误是没了,但是点击事件里的方法不执行了,求解

正在回答

2回答

加上@Optional是错误的做法,这个出错很简单,就是你当前的界面没有:im_search 这个id的view存在呀。

你自己看看你当前类对应的layout xml中是否定义好了,另外是否在bind之前设置了这个layout到当前的界面上。

0 回复 有任何疑惑可以回复我~
  • 提问者 tomlin_yuan #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2020-05-24 11:50:34
提问者 tomlin_yuan 2020-02-11 16:45:59

老师我解决了

之前在主界面的xml文件中,有一个警告

https://img1.sycdn.imooc.com/szimg/5e42696609d2261719201001.jpg

我就直接创建了一个,后面撤销,好像没有将其删掉,结果导致找不到ID

我到文件浏览器里将layout-v23这个文件夹删除后就没有这个问题了

1 回复 有任何疑惑可以回复我~
  • Qiujuer #1
    看你错误,是放xml放错了文件夹,v23,代表需要23以上的手机才读取,你当前的手机应该不是23以上的。所以异常了。
    回复 有任何疑惑可以回复我~ 2020-02-11 22:16:34
  • 你看看是不是你的activity_main有两 一个是v23一个是正常的,其中一个可能会忘记写id,我就是这个毛病
    回复 有任何疑惑可以回复我~ 2020-02-13 17:04:20
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信