OnTouchListener在Activity内部无效

时间:2014-06-28 21:37:23

标签: android ontouchevent ontouchlistener

所以我在使用onTouch方法时遇到了一些问题,它没有做任何事情,起初我认为有些东西与代码有关但后来我做了这个,当我触摸屏幕时它仍然不起作用。谁知道问题是什么?日Thnx。

{     私人FartPianoView fpv;

@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;
}

}

1 个答案:

答案 0 :(得分:0)

您需要覆盖

public boolean onTouchEvent (MotionEvent e)

Activity类的方法,不是您要覆盖的方法onTouch(...)的{​​{1}})。然后它应该工作。例如:

OnTouchListener

这意味着您正在识别@Override public boolean onTouchEvent(MotionEvent e) { // do your stuff... return false; } 上的触摸事件,而不是Activity上的触摸事件。如果您想通过View明确检测View上的触摸,则需要为OnTouchListener设置OnTouchListener

在你的情况下:

View