1

マルチタッチコントロールを作成しようとしていますが、画面に指を渡すときに、別の順序で指を離すと常にエラーが発生します。

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

問題は、人差し指を外しても2番目の指のIDが2のままであるということだと思いますが、それを修正するにはどうすればよいですか?

4

1 に答える 1

1

私が理解しているように、問題は、指の 1 つを離したときに ACTION_UP イベントが発生しないことです。これに対する解決策は、ACTION_POINTER_UP を使用することです。非プライマリ ポインターのリリースを検出し、問題を解決する必要があります。

于 2013-02-17T12:49:01.223 に答える