Java 为什么手势监听器不工作?

Java 为什么手势监听器不工作?,java,android,Java,Android,我想使用手势监听器,所以我写了一个简单的代码来测试它,但它不起作用。我看了一个YouTube教程并复制了它。我没有测试这一点,但它与我试图实现的目标非常相似。这是我第一次使用手势。我是这样的: MyClassActivity.java public class MyClassActivity extends Activity implments GestureDetector.OnGestureListener, GestureDetector.OnDoubleTapListener{ pri

我想使用手势监听器,所以我写了一个简单的代码来测试它,但它不起作用。我看了一个YouTube教程并复制了它。我没有测试这一点,但它与我试图实现的目标非常相似。这是我第一次使用手势。我是这样的:

MyClassActivity.java

public class MyClassActivity extends Activity implments GestureDetector.OnGestureListener, GestureDetector.OnDoubleTapListener{

private GestureDetector gestureDetector;
private TextView textView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_scrolling);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);

    this.gestureDetector = new GestureDetector(this, this);
    gestureDetector.setOnDoubleTapListener(this);

    textView = (TextView) findViewById(R.id.textView);

} //end of Oncreate

@Override
public boolean onTouchEvent(MotionEvent event) {
    this.gestureDetector.onTouchEvent(event);
    return super.onTouchEvent(event);
}

@Override
public boolean onDown(MotionEvent e) {

    textView.setText("onDown");
    return false;
}

@Override
public void onShowPress(MotionEvent e) {
    textView.setText("onShowPress");
}

@Override
public boolean onSingleTapUp(MotionEvent e) {

    textView.setText("onSingleTap");
    return false;
}

@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) { 

    textView.setText("onScroll");
    return false;
}

@Override
public void onLongPress(MotionEvent e) {
    textView.setText("onLongPress");
}

@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;
}
你能试一下吗

@Override
public boolean onTouchEvent(MotionEvent event) {
    this.gestureDetector.onTouchEvent(event);
    return true; // paas it true , as you are handling it.
}
你能试一下吗

@Override
public boolean onTouchEvent(MotionEvent event) {
    this.gestureDetector.onTouchEvent(event);
    return true; // paas it true , as you are handling it.
}

在onCreate方法的末尾尝试此操作

View v = //Get your view
v.setOnTouchListener(new OnTouchListener(){
    public boolean onTouch(View v, MotionEvent e){
        return gestureDetector.onTouchEvent(e);
    }
});

在onCreate方法的末尾尝试此操作

View v = //Get your view
v.setOnTouchListener(new OnTouchListener(){
    public boolean onTouch(View v, MotionEvent e){
        return gestureDetector.onTouchEvent(e);
    }
});