在我的应用中,我需要模拟点击事件。我使用这段代码:
View mLayout = findViewById(R.id.mainLayout);
float width = mLayout.getWidth() / 2.0f;
float height = mLayout.getHeight() / 2.0f;
view.dispatchTouchEvent(MotionEvent.obtain(SystemClock.uptimeMillis(), SystemClock.uptimeMillis(), 0, width, height, 0));
view.dispatchTouchEvent(MotionEvent.obtain(SystemClock.uptimeMillis(), SystemClock.uptimeMillis(), 1, width, height, 0));
LogCat说,上下事件之间的间隔时间不到10毫秒,但是视图认为,长时间点击执行(实验上我发现,事件之间需要近300毫秒的延迟)。 onTouchEvent而不是dispatchTouchEvent的工作方式相同。
我将不胜感激。
答案 0 :(得分:1)
在事件之间使用Thread.sleep(300)