Chcę wykryć doubletap
w widoku, na przykład jako button
, a następnie wiedzieć, który widok był. Widziałem this similar question, ale pytanie, które mówią, że jest duplikatem, nie wydaje się odpowiadać na moje pytanie.Jak słuchać dubletu na ekranie w Androidzie?
Wszystko, co mogę find, to dodać do aktywności GestureDetector
i dodać do niej OnDoubleTapListener
. Ale to jest wyzwalane tylko wtedy, gdy dotknę tła/układu mojego ekranu. To jest nie wyzwalane, gdy I (podwójne) dotknie button
.
Jest to kod mam w moim onCreate
:
gd = new GestureDetector(this, this);
gd.setOnDoubleTapListener(new OnDoubleTapListener()
{
@Override
public boolean onDoubleTap(MotionEvent e)
{
Log.d("OnDoubleTapListener", "onDoubleTap");
return false;
}
@Override
public boolean onDoubleTapEvent(MotionEvent e)
{
Log.d("OnDoubleTapListener", "onDoubleTapEvent");
//if the second tap hadn't been released and it's being moved
if(e.getAction() == MotionEvent.ACTION_MOVE)
{
}
else if(e.getAction() == MotionEvent.ACTION_UP)//user released the screen
{
}
return false;
}
@Override
public boolean onSingleTapConfirmed(MotionEvent e)
{
Log.d("OnDoubleTapListener", "onSingleTapConfirmed");
return false;
}
});
Idealny kod na tej metodzie obsługi na jednym kliknięciu lub podwójnym dotknięciu :) –