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了
相关推荐
toperfect 2015-07-01
chenjinlong 2020-02-19
83580494 2013-07-19
langjiao 2013-07-16
kiduo0 2013-07-10
gongzhiyao0 2010-11-15
bigdatazx 2010-11-05
Urchindong 2011-08-01
peixiaopao 2011-08-21
MeOrdinary 2014-05-13
magic00 2019-10-21
guizhongyun 2011-09-27
csuhanshuai 2015-03-30
Sunanang 2015-03-30
snailbing 2015-04-23
huohu00 2015-04-22
nickey 2012-01-29
Rgenxiao 2012-01-26
满城风絮 2011-12-03