对于我正在写的应用程序,我想在用户将手指从屏幕上抬起后调用某个动作。我知道我需要检查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);
}
有谁知道问题的原因是什么?
提前谢谢。
答案 0 :(得分:13)
确保onTouch返回true,告诉你的侦听器操作触摸事件。
来自docs:onTouch() - 返回一个布尔值来指示你的监听器是否使用了这个事件。重要的是这个事件可以有多个相互跟随的动作。因此,如果在收到向下操作事件时返回false,则表示您尚未使用该事件,并且对此事件的后续操作也不感兴趣。因此,您不会在活动中调用任何其他操作,例如手指手势,或最终的上行动作事件。