Java getAction()只提供了操作\u

Java getAction()只提供了操作\u,java,android,Java,Android,对于我正在编写的应用程序,我希望在用户将手指从屏幕上移开时调用某个操作。我知道我需要检查event.getAction()是否为ACTION\u UP,但我从getAction()得到的只是ACTION\u DOWN。我的代码如下所示: menu = new MenuView(this); menu.setBackgroundColor(Color.WHITE); menu.setKeepScreenOn(true); ... setContentView(men

对于我正在编写的应用程序,我希望在用户将手指从屏幕上移开时调用某个操作。我知道我需要检查event.getAction()是否为ACTION\u UP,但我从getAction()得到的只是ACTION\u DOWN。我的代码如下所示:

menu = new MenuView(this);
        menu.setBackgroundColor(Color.WHITE);
        menu.setKeepScreenOn(true);
...
setContentView(menu);
 menu.requestFocus();
...
public class MenuView extends View
{
...
public MenuView(Context context) 
    {
        super(context);
        setFocusable(true);
    }
有人知道问题的原因吗


提前感谢。

确保onTouch返回true,告知操作系统您的侦听器处理触摸事件

从docs:onTouch()-返回一个布尔值,指示侦听器是否使用此事件。重要的是,此事件可以有多个后续操作。因此,如果在接收到down action事件时返回false,则表明您尚未使用该事件,并且对该事件的后续操作也不感兴趣。因此,事件中不会要求您执行任何其他操作,例如手指手势、或最终的向上操作事件。


您是否使用手势检测器?检查event.getAction的相关代码是什么?@Override public boolean onTouchEvent(MotionEvent事件){if(event.getAction()!=MotionEvent.ACTION\u DOWN)//从未调用抱歉,我不知道如何在回复中设置格式…谢谢你的帮助!这就成功了-谢谢!这很奇怪,因为它在另一个应用程序中工作得非常好-现在我发现另一个返回true,而这个返回super.onTouchEvent。非常感谢!