setOnTouchListen事件会报警告,请问怎么处理掉这个警告??
谁知道这个怎么处理啊,按alter+enter出来的提示是加一个suppert标签,但是加了还是会报这个警告,在哪里去重写那个performClick方法呀,百度出来的回答都是“在合适的地方加”。。
谁知道这个怎么处理啊,按alter+enter出来的提示是加一个suppert标签,但是加了还是会报这个警告,在哪里去重写那个performClick方法呀,百度出来的回答都是“在合适的地方加”。。
2018-07-21
我当初也是百度没有度到,后来去看了 performClick() 的源码,看到上面的注释写着:
Call this view's OnClickListener, if it is defined.
其实这个 performClick() 方法就是去让 OnClickListener 生效(如果你设置了的话)。
另外,它的返回值和 OnClickListener 有关:
// 截取自源码。。。 final ListenerInfo li = mListenerInfo; if (li != null && ) { playSoundEffect(SoundEffectConstants.CLICK); li.mOnClickListener.onClick(this); } else { }
出现这个警告是因为同时设置了 OnClickListener 和 OnTouchListener,有可能导致 OnClickListener 失效。
所以只要在 OnTouchListener 的 onTouch() 方法中有调用 performClick() 去让 OnClickListener 生效即可。
因为它注释上说如果 OnClickListener 生效 就返回 true,正好合意。。。
@return , false otherwise is returned.
所以我就直接在 OnTouchListener 的 onTouch() 方法中返回这个方法的返回值:
return v.performClick(); // 这个 v 就是指 onTouch(View v) 中的 v
举报