【发布时间】:2023-03-08 07:45:01
【问题描述】:
当有诸如“点击”或键入“触摸”之类的操作时,我在尝试使元素做出不同响应时遇到问题。当我点击元素(是一个简单的监听器,不值得粘贴代码)时,它完美地执行了动作,但完全忽略了触摸的动作。这样我可以关联元素来区分这两个事件?
我应该将侦听器应用于执行操作的视图的子视图吗?
谢谢。
编辑
已解决!
在调用之前添加了对触摸事件使用的检查。
@Override
public boolean dispatchTouchEvent(MotionEvent event) {
super.dispatchTouchEvent(event);
if (this.onTouchEvent(event))
return this.onTouchEvent(event);
else
return false;
}
【问题讨论】:
-
大多数视图都有一个
setOnTouchListener。你试过吗? -
是的,我试过了。但它也忽略了触摸事件,只监听了点击事件。
-
确保你从onTouch方法返回true,否则你只会得到一个ACTION_DOWN事件。
-
程序仍然忽略“触摸”事件。该方法通过拖动屏幕的任意角落来执行,除非按钮带有点击事件...:/
标签: java android events click touch