2 u011747899 u011747899 于 2014.08.07 12:32 提问

activity的ontouchevent监听不触发

在一个relativeLayout中有两个view,其中一个的自定义控件,定义了它的触摸、点击等事件的监听,activity启动后即把处理后的图片加载给它,另一个是系统的imageview,在activity中重写了ontouchevent,在触摸屏幕后才显示这个imageview。现在问题是当触摸屏幕的时候自定义控件能正常监听并做出相应变化,但是imageview却并没有显示,activity中重写的ontouchevent方法没有进入。
卡这了一天了,只能来向大神们求救了。

1个回答

qq_25734293
qq_25734293   2016.01.14 16:03

1、activity中重写的ontouchevent方法没有进入是因为自定义view的outouch方法返回了true将事件消费了
解决办法
1)重写activity的dispatchtouchevent,将事件分类,显示imageview返回true,否则返回false
2)重写自定义view的ontouchevent,,将事件分类,显示imageview返回false,否则返回true

sinat_18410211
sinat_18410211 Activity中的onTouchEvent能不能进入跟自定义View的onTouch()没有关系,跟Activity的第一ViewGroup的onInterceptTouchEvent()是否拦截有关系。可以参见http://www.jianshu.com/writer#/notebooks/10592978/notes/9920758
大约一年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!