将ViewFilpper组建封装成一个View出现的onScroll() and onFlipping()方法无法响应事件的解决方案
来源:互联网 发布:计算机算法基础第三版 编辑:程序博客网 时间:2024/05/29 10:37
问题:
公司让我将所有的视图部分封装成一个控件,将来整个项目就直接new一下我的类就可以了,而在封装这个视图的时候,当然此视图里面包含ViewFlipper组件,实现了OnGestureListener接口,主要问题出现在OnGestureListener接口里面的方法实现时无法响应事件,这个接口需要实现onDown、onFling、onLongPress、onScroll、onShowPress、onSingleTapUp共6个方法,只有onFling、onScroll方法无法响应事件,而且都是滑动触摸事件,其它事件都可以正常响应。
解决方案:
在调用此自定义组件的Activity里面重写OnTouchEvent方法,实现内容为:
@Overridepublic boolean onTouchEvent(MotionEvent event) {// TODO Auto-generated method stub// return this.detector.onTouchEvent(event);return helpView.onTouchEvent(event);}
helpView是我做的那个自定义控件的对象,当然我封装的自定义控件里面也必须重写OnTouchEvent方法,方法里面的内容是调用
return this.detector.onTouchEvent(event);
我一直没有明白,既然其它事件都可以获取到,为什么就这两个方法的事件获取不到!我想可能是被Activity阻截了,所以需要调用return helpView.onTouchEvent(event);将事件传给自定义View里面,解释矛盾牵强,只能暂时这么理解着,这个问题记得我在做键盘事件处理的时候也遇到过,处理办法也是在调用的Activity里面重写键盘事件,将事件传递给自定义View里面。
- 将ViewFilpper组建封装成一个View出现的onScroll() and onFlipping()方法无法响应事件的解决方案
- OnGestureListener监听“view”时无法执行的onScroll()与onFling()方法的解决方案
- DHTML的onScroll事件
- 自定义了一个view 但是无法响应事件
- 将xib文件封装一个自定义view的步骤
- cocos2d-x 3.x 关于cocostudio的UI将事件吃掉,场景Layer无法响应手势的问题解决方法
- 亲,透过一个view去响应另外一个view的点击事件
- 如何稀释onscroll事件的原理
- 从一个view中获取到它的ViewController (事件响应机制,层层传递事件)
- android关于用.xml布局文件中对View添加OnClick事件无法响应的事情
- Android View的onTouchEvent 事件响应顺序
- 响应触摸事件的方法
- UITouch事件不响应的解决方案
- UIScrollView无法响应touch事件的解决办法
- UIScrollView无法响应touch事件的解决办法
- GridView的item无法响应点击事件
- tableview的didSelectRowAtIndexPath事件,无法响应。
- UIScrollView无法响应touch事件的解决办法
- div+css水平三级导航菜单
- 一个Thrift的简单例子
- 关于android 线程的销毁问题
- boa web服务器在PC上移植
- AJAX-初学
- 将ViewFilpper组建封装成一个View出现的onScroll() and onFlipping()方法无法响应事件的解决方案
- UNIX UMASK命令
- 深入探讨C++中的引用
- 自己动手写Python实现Ubuntu自动切换壁纸
- 自动生成控制文件及数据文件并完成sqlldr的自动导入
- JDK5中的concurrent包简介
- MSSQL获取日期的各种格式与各个部分
- Visual Studio 2008 +Opencv230下的配置关键步骤
- js事件列表