27
たとえば、button
のようなビュー上でdoubletap
を検出して、それがどのビューであったかを知りたいとします。私はthis similar questionを見ましたが、彼らはそれが重複していると言う質問は私の質問に答えていないようです。アンドロイドのビューでダブルタップを聴くには?
私はfindをアクティビティに追加し、GestureDetector
を追加し、OnDoubleTapListener
を追加します。しかし、それは私が画面の背景/レイアウトをタップする場合にのみトリガされます。 I(ダブル)をタップしたときにがにならない場合は、button
をタップします。
これは私が私の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;
}
});
このメソッドのパーフェクトコードは、シングルタップまたはダブルタップで処理します:) –