getAction()只给出ACTION_DOWN

ron*_*ash 4 java android

对于我正在编写的应用程序,我想在用户将手指从屏幕上抬起后调用某个动作.我知道我需要检查event.getAction()是否为ACTION_UP,但我从getAction()获得的是ACTION_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);
    }
Run Code Online (Sandbox Code Playgroud)

谁知道问题的原因是什么?

先感谢您.

jkh*_*uw1 13

确保onTouch返回true,告诉你的监听器操作触摸事件.

来自docs:onTouch() - 返回一个布尔值来指示你的监听器是否使用了这个事件.重要的是这个事件可以有多个相互跟随的动作.因此,如果在收到向下操作事件时返回false,则表示您尚未使用该事件,并且对此事件的后续操作也不感兴趣.因此,您不会在事件中调用任何其他操作,例如手指手势或最终的上行动作事件.

http://developer.android.com/reference/android/view/View.html#onTouchEvent%28android.view.MotionEvent%29