2

Androidで2本指の長押しを実装したいと思います。onLongPress をオーバーライドしようとしました:

private static final int LONGTIMEOUT = ViewConfiguration.getLongPressTimeout() + 100;

@Override public void onLongPress(final MotionEvent e) {
  Log.i(TAG, "onLongPress");
  switch (e.getActionMasked()) {
    case MotionEvent.ACTION_DOWN:
      Log.i(TAG, "onLongPress:ACTION_DOWN");
      break;
    case MotionEvent.ACTION_POINTER_DOWN:
      Log.i(TAG, "onLongPress:ACTION_POINTER_DOWN");
      if (SystemClock.uptimeMillis() - e.getEventTime() > LONGTIMEOUT)
        Log.i(TAG, "YES YES YES");
      break;
    default:
      break;
  }
}

しかし、画面を2本の指で長押しすると、 ACTION_POINTER_DOWN には入りません。誰かがそれを正しく解決/実装する方法を知っていますか?

4

1 に答える 1