Android onTouchEvent的MotionEvent.ACTION_UP不响应
来源:互联网 发布:linux进入新建用户 编辑:程序博客网 时间:2024/05/22 14:15
自己写了一个自定义View,里面要监听ouTouchEvent事件,于是我重写了View的onTouchEvent方法。
代码如下:
@Override public boolean onTouchEvent(MotionEvent event) { int x = (int) event.getX(); int y = (int) event.getY(); if(event.getAction() == MotionEvent.ACTION_UP) { for (PersonRect rect : mShowPersonRectList) { Log.d(TAG, rect.toString()); if (rect.toRect().contains((int)(x / mWidthRatio), (int)(y / mHeightRatio))) { mFollowedId = rect.getId(); invalidate(); if (mOnClickRectListener != null) { mOnClickRectListener.onClickRect(rect.getId()); } break; } } } return super.onTouchEvent(event); }
最后运行的时候发现没有出现我写的效果,日志也没有打印出来,仔细研究了一下发现,onTouchEvent有执行,但是MotionEvent.ACTION_UP分支没有执行,很奇怪的问题。
最后谷歌一下终于找到问题所在了,原来在onTouchEvent的Motion.ACTION_DOWN分支如果返回的是false,那么onTouch事件将不会往下面传递下去,如果返回true,那么onTouch事件将会传递下去,从而可以响应Motion.ACTION_UP分支。
http://stackoverflow.com/questions/12588263/in-ontouchevent-action-up-doesnt-work
所以这里出现MotionEvent.ACTION_UP分支未响应,是因为return super.onTouchEvent(event);返回的是false,所以解决方案就是将return super.onTouchEvent(event);改为return true就可以了。
3 0
- Android onTouchEvent的MotionEvent.ACTION_UP不响应
- Android onTouchEvent的MotionEvent.ACTION_UP不响应
- Android MotionEvent.ACTION_UP和ACTION_CANCEL的区别
- MotionEvent.ACTION_UP无法被响应
- (转载) 关于MotionEvent.ACTION_UP无法被响应的问题
- 关于MotionEvent.ACTION_UP无法被响应的问题
- Android onTouch 斜滑或者MotionEvent.ACTION_UP 不反应
- onTouchEvent中 ACTION_MOVE不响应的问题
- onTouchEvent(MotionEvent event)的使用
- Android的Button按钮,ACTION_UP事件不触发解决方案
- Android的Button按钮,ACTION_UP事件不触发解决方案
- Android的Button按钮,ACTION_UP事件不触发解决方案
- 详细剖析 android onInterceptTouchEvent(MotionEvent event) 和 onTouchEvent(MotionEvent event) 的事件传递机制
- 详细剖析 android onInterceptTouchEvent(MotionEvent event) 和 onTouchEvent(MotionEvent event) 的事件传递机制
- 使用OnTouchListener()的一个坑,监听不到MotionEvent.ACTION_UP
- 使用OnTouchListener()的一个坑,监听不到MotionEvent.ACTION_UP
- Android中处理view弹起(即MotionEvent.ACTION_UP)事件发生时触摸点是否在该view组件的范围内
- android dispatchTouchEvent、onInterceptTouchEvent、onTouchEvent的响应流程
- 使用windows Phone 集成横幅广告教程
- php学习日记第六棒(PHP 开发环境的搭建)
- 安卓学习之路12之Intent实现页面跳转
- eclipse中配置git,以及eclipse中上传代码到github上
- Android SDK platforms build-tools等镜像下载
- Android onTouchEvent的MotionEvent.ACTION_UP不响应
- tmux简单教程
- 解决jquery版本冲突的有效方法
- 近期代码总结
- Arrays.copyof()和System.arraycopy()方法总结
- Install Skype 4.3 on Fedora 21-20-CentOS-RHEL-SL7-6.6
- Android项目的结构
- 常用正则表达式大全!(例如:匹配中文、匹配html)
- iOS开发UI篇—核心动画(关键帧动画)很详细