【发布时间】:2013-01-23 13:04:48
【问题描述】:
我有一个视图需要处理 onTouch 手势和 onClick 事件。实现这一目标的正确方法是什么?
我在视图上设置了一个onTouchListener 和一个onClickListener。每当我触摸视图时,首先触发onTouch 事件,然后触发onClick。但是,从onTouch 事件处理程序我必须返回true 或false。返回true 表示该事件正在被消费,因此android 事件系统不会进一步传播该事件。
因此,永远不会生成onClick 事件,至少当我在onTouch 事件处理程序中返回true 时,永远不会触发我的onClick 侦听器。另一方面,返回false 没有选项,因为这会阻止onTouch 侦听器接收任何进一步的事件,这些事件是识别手势所必需的。解决这个问题的常用方法是什么?
【问题讨论】:
-
为什么需要 onTouch 和 onClick?当然只有 onTouch 就足够了。
-
GestureDetector 怎么样?
-
@JDx 我应该如何识别来自
onTouchListener的点击?单击是至少两个触摸事件的序列,其中ACTION_DOWN事件在与后面的ACTION_UP事件完全相同的位置(或至少在同一视图上)触发。当然,可以实现这一点,如果没有其他解决方案,我会这样做。但我的问题确实是,这种场景是否有内置的解决方案? -
@Keyser 我在
OnGestureListener中看不到任何类似 onClick 的回调 -
检查它是否适用于我的解决方案stackoverflow.com/questions/19538747/…
标签: android android-event