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
  • 21,519
  • 75
  • 241
  • 416
Blackbelt
  • 156,034
  • 29
  • 297
  • 305

1 Answers1

0

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

Paul D'Ambra
  • 7,629
  • 3
  • 51
  • 96