我正在尝试制作一个mulitouch控件,但是当我按照不同的顺序移开手指时,我总是会出错,因为我将它放到了屏幕上。
@Override
public boolean onTouchEvent(MotionEvent event) {
pointers = event.getPointerCount();
for(int a = 0; a < event.getPointerCount(); a++) {
expos[a] = (int) event.getX(event.getPointerId(a));
eypos[a] = (int) event.getY(event.getPointerId(a));
}
if(event.getAction() == MotionEvent.ACTION_DOWN) pressed = true;
if(event.getAction() == MotionEvent.ACTION_UP) pressed = false;
return true;
}
我认为问题是,当我删除第一个手指时,第二个手指仍然具有id 2,但我该怎么做才能修复它?
答案 0 :(得分:1)
据我了解,问题是你释放其中一根手指时没有得到ACTION_UP事件。解决方法是使用ACTION_POINTER_UP。它将检测任何非主要指针的发布,并应解决问题