【xUtils框架问题】xUtils继承基类的x.view().inject(this)绑定点击事件@Event无效
由于看得教程里的xUtils比较老了,不知道什么版本的。
还是使用ViewUtils.inject()进行绑定反射的,使用@OnClick进行点击监听绑定的。
3.9.0版本的xUtils使用:
- x.view().inject(this) 代替ViewUtils.inject()
- 使用@Event事件注解 代替@OnClick
教程里@OnClick注解点击监听方法是public的。
然后,我就百思不得其解了,还以为x.view().inject(this)用错了,因为代码结构写了一大堆base xxxx,在教程老代码基础上往xUtils 3.9的用法改造的,我又比较小白。
后面一步步排查才发现,xUtils上@Event写清楚了,方法必须私有限定!!public改为private搞定!
使用@Event事件注解(@ContentView, @ViewInject等更多示例参考sample项目) /** * 1. 方法必须私有限定, * 2. 方法参数形式必须和type对应的Listener接口一致. * 3. 注解参数value支持数组: value={id1, id2, id3} * 4. 其它参数说明见{@link org.xutils.event.annotation.Event}类的说明. **/ @Event(value = {R.id.index_llyt_auto,R.id.message_llyt_auto,R.id.task_llyt_auto,R.id.me_llyt_auto}) private void viewOnClick(View view){
......
......
}