我的密码
public class TestActivity extends AppCompatActivity implements GestureDetector.OnGestureListener, GestureDetector.OnDoubleTapListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test);
GestureDetectorCompat gestureDetectorCompat=new GestureDetectorCompat(this,this);
gestureDetectorCompat.setOnDoubleTapListener(this);
}
@Override
public boolean onDown(MotionEvent e) {
return false;
}
@Override
public void onShowPress(MotionEvent e) {
}
@Override
public boolean onSingleTapUp(MotionEvent e) {
return false;
}
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {
return false;
}
@Override
public void onLongPress(MotionEvent e) {
}
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
return false;
}
@Override
public boolean onSingleTapConfirmed(MotionEvent e) {
return false;
}
@Override
public boolean onDoubleTap(MotionEvent e) {
return false;
}
@Override
public boolean onDoubleTapEvent(MotionEvent e) {
return false;
}
}
我正在调试每一个方法,但是没有一个get被调用。
我错在哪里了?
最佳答案
GestureDetectorCompat
不会自动调用。您必须覆盖onTouchEvent(MotionEvent event)
中的Activity
,并将事件传递给手势检测器。例如。
public boolean onTouchEvent(MotionEvent event) {
return gestureDetectorCompat.onTouchEvent(event);
}
您可以找到here文档。有关返回值的含义,请参阅。
关于android - GestureDetectorCompat无法正常工作?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37456483/