-1

我正在尝试使用多点触控作为同时按下两件事的方法。

这是我的代码:

TouchHandle.setOnTouchListener(new OnTouchListener () {
              public boolean onTouch(View view, MotionEvent event) {
                  int actions = event.getActionMasked();
                  switch (actions)
                  {
                  case MotionEvent.ACTION_DOWN:

                  case MotionEvent.ACTION_POINTER_DOWN:
                      SendKeyCode(Server, "keydec.down");
                  case MotionEvent.ACTION_POINTER_UP:
                      SendKeyCode(Server, "keydec.up");
                  case MotionEvent.ACTION_UP:

                  }
              return true;
                  }
        });

问题是当我触摸屏幕时,服务器正在检索“keydec.down”和“keydec.up”,即使我还没有从触摸屏上移开手指。因此,即使我还没有拉起手指,当我的手指触摸屏幕时,视图TouchHandle也会检测到。有什么想法吗?ACTION_POINTER_DOWNACTION_POINTER_UP

4

1 回答 1

1
int actions = event.getAction();
switch (actions)
                  {
                  case MotionEvent.ACTION_DOWN:
                  break;
                  case MotionEvent.ACTION_POINTER_DOWN:
                      SendKeyCode(Server, "keydec.down");
                  break;
                  case MotionEvent.ACTION_POINTER_UP:
                      SendKeyCode(Server, "keydec.up");
                  break;
                  case MotionEvent.ACTION_UP:
                  break;

                  }

您应该在案例之间使用中断。而且我还认为这些 MotionEvent 常量可能适用于event.getAction()尝试那个。

于 2012-09-13T19:28:49.803 回答