0

I was wondering if it is possible to simulate the doulbe tap event. I tried

TouchUtils.clickView(...) 

two times in a row but it did not work. I tried also in this way:

    long downTime = SystemClock.uptimeMillis();
    long eventTime = SystemClock.uptimeMillis();

    eventTime +=200;
    downTime +=200;

    Instrumentation instrumentation = getInstrumentation();

    MotionEvent event = MotionEvent.obtain(downTime, eventTime, MotionEvent.ACTION_DOWN, mainview.getWidth()/2, mainview.getHeight()/2, 0);
    instrumentation.sendPointerSync(event);

    event = MotionEvent.obtain(downTime, eventTime, MotionEvent.ACTION_UP, mainview.getWidth()/2, mainview.getHeight()/2, 0);
    instrumentation.sendPointerSync(event);

    downTime = SystemClock.uptimeMillis();
    eventTime = SystemClock.uptimeMillis();

    eventTime +=200;
    downTime += 200;

    event = MotionEvent.obtain(downTime, eventTime, MotionEvent.ACTION_DOWN, mainview.getWidth()/2, mainview.getHeight()/2, 0);
    instrumentation.sendPointerSync(event);

    event = MotionEvent.obtain(downTime, eventTime, MotionEvent.ACTION_UP, mainview.getWidth()/2, mainview.getHeight()/2, 0);
    instrumentation.sendPointerSync(event);

but the event still does not trigger.

Alexander Farber
  • 19,827
  • 73
  • 224
  • 393
Blackbelt
  • 152,872
  • 27
  • 286
  • 297

1 Answers1

0

Looking at the tests covering the onDoubleTap gesture detector you need to use TouchUtils.tapView

Paul D'Ambra
  • 7,439
  • 3
  • 50
  • 93