Android OnTouch侦听器在活动内部不工作

Android OnTouch侦听器在活动内部不工作,android,touch-event,ontouchlistener,Android,Touch Event,Ontouchlistener,所以我对onTouch方法有一些问题,它没有做任何事情,起初我认为代码有问题,但后来我做了,当我触摸屏幕时它仍然不工作。有人知道问题出在哪里吗?Thnx { 私人飞机 @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); requestWindowFeature

所以我对onTouch方法有一些问题,它没有做任何事情,起初我认为代码有问题,但后来我做了,当我触摸屏幕时它仍然不工作。有人知道问题出在哪里吗?Thnx

{ 私人飞机

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    fpv = new FartPianoView(this);
    setContentView(fpv);
}

@Override
public boolean onTouchEvent(MotionEvent event)
{
    // TODO Auto-generated method stub
    float currentX = event.getX();
    float currentY = event.getY();
    switch(event.getAction())
    {
        case MotionEvent.ACTION_DOWN:
            finish();

            break;
        case MotionEvent.ACTION_UP:
            finish();
            break;
    }
    return false;
}

}

您需要覆盖

public boolean onTouchEvent (MotionEvent e)
活动
类的方法,不是您要重写的方法(
onTouch(…)
onTouch侦听器
)。那么它应该会起作用。例如:

@Override
public boolean onTouchEvent(MotionEvent e) {

    // do your stuff...

    return false;
}
这意味着您是在
活动
上识别触摸事件,而不是在
视图
上识别触摸事件。如果要通过
OnTouchListener
显式检测
视图上的触摸,需要为
视图设置
OnTouchListener

就你而言:

fpv = new FartPianoView(this);
fpv.setOnTouchListener(this);

你的幻觉怎么样?它会拦截触摸手势吗?另一个问题,由于某种原因,当我使用fpv的方法时,它不起作用。知道为什么吗?