我改写了dispatchTouchEvent() 用来侦听 MapView的点击事件,可是不知道为什么当我按界面上的其它按扭(自己添加的) 时却被dispathcTouchEvent捕捉到了,按扭的侦听器也捕捉到了。请问怎样让dispatchTouchEvent 不侦听按扭事件?

解决方案 »

  1.   

    直接在ontouchevent里监听touch就行了啊,这里不会接收到button的点击事件的。
      

  2.   

    不行啊,如果是onTouchEvent的话,点击MapView就不会触发onTouchEvent了。
      

  3.   

    ?你要监听的是MapView的onTouchEvent,不是它的父窗口
      

  4.   

    记不太清楚了,就是改用ontouchevent()侦听mapView就可以了吧,不用dispatchTouchEvent()。
    想想这些问题让人真难回答,因为如果不是经常开发这个,放下就忘了,我自己也不清楚当初遇到的问题了
      

  5.   

    dispatchOnTouchEvent()时派发事件,从最上层View开始派发,dispatchOnTouchEvent()返回true时,View将事件派发给自己onTouchEvent()方法处理,如果返回false,则交给interceptTouchEvent来决定是否要拦截,如果返回false,则传给子View,由子View的dispatchTouchEvent()方法再来派发。因此,你要清楚自己的view的继承关系,不要派发到父类的窗口就可以了。