0

ドルベタップイベントをシミュレートできるかどうか疑問に思っていました。私は試した

TouchUtils.clickView(...) 

2回連続でしたが、うまくいきませんでした。私はこの方法でも試しました:

    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);

しかし、イベントはまだトリガーされません。

4

1 に答える 1

0

使用する必要がある onDoubleTap ジェスチャ検出器をカバーするテストを見るTouchUtils.tapView

于 2012-10-09T16:43:03.960 に答える