Android ListView 与 Activity 的 onTouchEvent 冲突

借鉴网上解决办法:

场景:

在实际开发中你可能需要把ListView中的onTouchEvent写在Activity中进行操作,或者是同时存在对ListView或者Activity的不同向操作(例如向左右向上下滑动绑定不同事件)。

问题:

这时候你会发现ListView的onTouchEvent事件有效,但是Activity的onTouchEvent事件却失效,这是为什么呢?

解决与分析:

这是因为ListView是的onTouchEvent 优先权高于Activity的,前者把后者覆盖了,于是造成Activity onTouchEvent失效。

这时候我们查看API以及翻阅网上资料,发现Activity提供另外一个方法的重写。

 

@Override  

    public boolean dispatchTouchEvent(MotionEvent event) {  

  

    return super.dispatchTouchEvent(event);  

  
  
    }  
@Override
	public boolean dispatchTouchEvent(MotionEvent event) {

	return super.dispatchTouchEvent(event);


	}

替换方法就ok了

相关推荐