Я не могу получить доступ к событию щелчка объекта на экране.поэтому я хочу отслеживать события нажатия на экране с помощью сенсорного прослушивателя.но когда он прокручивается, он также воспринимается как щелчок.как я могу преодолеть это?
mMessagesList.setOnTouchListener(new View.OnTouchListener() {
private static final int MAX_CLICK_DURATION = 200;
private long startClickTime;
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN: {
startClickTime = Calendar.getInstance().getTimeInMillis();
break;
}
case MotionEvent.ACTION_UP: {
long clickDuration = Calendar.getInstance().getTimeInMillis() - startClickTime;
if (clickDuration < MAX_CLICK_DURATION) {
//click event has occurred
myAction();
}
break;
}
case MotionEvent.ACTION_MOVE:
return false;
case MotionEvent.ACTION_SCROLL:
return false;
case MotionEvent.AXIS_SCROLL:
return false;
case MotionEvent.ACTION_BUTTON_PRESS:
return true;
}
return false;
}
});