当前位置:   article > 正文

android 关于view的onTouch和onClick同时触发解决方案_revlerview怎么同时使用ontouch和onclick

revlerview怎么同时使用ontouch和onclick
做了一个悬浮窗,需要处理onTouch和onClick事件,遇到了一些问题,浪费了不少时间,总算解决了,在此记录下来。

onTouch的return值为true时不能响应onClick事件,设置为false后,就会同时触发两个事件,然后就在网上找解决办法,有的说记录坐标,根据结束坐标的位置和开始位置的差值来判断,有的说用什么线程来判断,各种奇怪的帖子都看了,贴的代码都是扔上好几个变量,压根看不懂是啥玩意,头疼的要死。最后在技术群里一个朋友给出了思路,然后成功解决了。
办法其实很简单:
定义一个boolean的 全局变量isMove= false,然后在onTouch方法里的MotionEvent.ACTION_MOVE:里边设置isMove =true;在MotionEvent.ACTION_UP:判断isMove的值 if (isMove== false) {//对click事件的处理} else if (isMove == true){//对onTouch事件的处理,我仅仅是更新坐标} 记得一定要设置在break之前再次设置isMove =false;

转载@heng

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/111340
推荐阅读
相关标签
  

闽ICP备14008679号