所以我在使用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;
}
}
答案 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