android dispatchTouchEvent down返回false

看很多帖子都说在down时返回false就接收不到后来的Action@OverridepublicbooleandispatchTouchEvent(MotionEven... 看很多帖子都说 在down时返回false就接收不到后来的Action
@Override
public boolean dispatchTouchEvent(MotionEvent event)
{
if(event.getAction()==MotionEvent.ACTION_DOWN){
System.out.println("Activity:dispatchTouchEvent(Down)");
return false;
}
if(event.getAction()==MotionEvent.ACTION_MOVE){
return true;
}
if(event.getAction()==MotionEvent.ACTION_UP){
System.out.println("Activity:dispatchTouchEvent(up)");
return true;
}
System.out.println("Activity:dispatchTouchEvent(super)");
return super.dispatchTouchEvent(event);
}
可是输出是:
Activity:dispatchTouchEvent(Down)
Activity:dispatchTouchEvent(up)

是我实验的方法错了么?
展开
 我来答
王勃啊
推荐于2016-08-08 · TA获得超过1.1万个赞
知道大有可为答主
回答量:5015
采纳率:62%
帮助的人:4095万
展开全部
dispatchTouchEvent是派发MotionEvent 的方法。

如果这个方法是主activity里面的话,你无论返回false还是true。该有的还是有的。

像在down时返回false就接收不到后来的Action 一般说的是onTouchEvent这个方法。

表示用户点击的时候需要相应的地方。而派发方法只是关系到把事件派发到具体哪个子view。
追问
也就是说 在这个里面 返回false和true都一样呗?
返回 super. 就会向下传递
追答
可以这么说。前提是这个dispatchTouchEvent是主activity下的方法,而不是子view中的方法。。。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式