В представлении я хочу обнаружить как однократное нажатие, так и двойной кран. Он отлично работает со мной. Я могу обнаружить как одиночный, так и двойной кран. Пожалуйста, найдите мой кодДвойной щелчок в android View
@Override
public boolean onTouch(View view, MotionEvent me) {
// No dragging during animation at the moment.
// TODO: Stop animation on touch event and return to drag mode.
boolean result = true;
result = gestureDetector.onTouchEvent(me);//return the double tap events
if(result)
return false;
switch (me.getAction()) {
case MotionEvent.ACTION_DOWN:
case MotionEvent.ACTION_MOVE:
case MotionEvent.ACTION_CANCEL:
case MotionEvent.ACTION_UP:
}
private class GestureListener extends GestureDetector.SimpleOnGestureListener {
private String fileName;
@Override
public boolean onSingleTapConfirmed(MotionEvent e) {
// TODO Auto-generated method stub
return false;
}
// event when double tap occurs
@Override
public boolean onDoubleTap(MotionEvent e) {
float x = e.getX();
float y = e.getY();
if(player!=null && player.isPlaying())
{
player.stop();
}
else
{
setFileName(x);
player = new AudioPlayer(fileName);
player.play();
}
return true;
}
}
Я делаю код в событии Action_UP. Поэтому даже когда я делаю двойной щелчок, для первого нажатия вызывается событие ACTION_UP и выполняется соответствующий код. Я хочу предотвратить это. Как я могу это сделать. Я просто хочу убедиться, что ACTION_UP вызывается только тогда, когда пользователь выполнил свой жест. Не сразу после его частичного жеста. В этом случае его вызывали пальцем вверх по первому крану.
Как я могу сделать эту работу в android?
Благодаря
Ваш вопрос не имеет большого смысла. Хотя вы не можете изменить «MotionEvent», хотя вы могли бы, например, сделать так, чтобы каждый раз, когда вы нажимаете/прикасаетесь, он будет вычислять время с момента последнего нажатия, а затем делать разные вещи в соответствии с тем временем. – Vallentin
Проверьте мой обновленный ответ; Я верю, что вы возвращаете неправильные значения в 'onXTap' функции – gunar