Android OnTouch侦听器在活动内部不工作
所以我对onTouch方法有一些问题,它没有做任何事情,起初我认为代码有问题,但后来我做了,当我触摸屏幕时它仍然不工作。有人知道问题出在哪里吗?Thnx { 私人飞机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
@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的方法时,它不起作用。知道为什么吗?