まぁ、バグじゃなくて仕様だけどな。
onTouchEventを行う時にeclipseの補完で
@Override public boolean onTouchEvent(MotionEvent event) { // TODO Auto-generated method stub return super.onTouchEvent(event); }
となるのでタッチイベントを取得しようとした時に
@Override public boolean onTouchEvent(MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: _x = (int) event.getX(); _y = (int) event.getY(); break; case MotionEvent.ACTION_MOVE: _x = (int) event.getX(); _y = (int) event.getY(); break; case MotionEvent.ACTION_UP: break; default: break; } return super.onTouchEvent(event); }
としてしまうとなぜか、ACTION_MOVEで値が取得できません。
実際にはACTION_MOVEが動いていないのです。
ACTION_DOWNの際にsuper.onTouchEventがfalseである事を要因として、タッチのイベントが取れないようです。
タッチを利用する際には、return trueを全体に追加すればよいので、
@Override public boolean onTouchEvent(MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: _x = (int) event.getX(); _y = (int) event.getY(); break; case MotionEvent.ACTION_MOVE: _x = (int) event.getX(); _y = (int) event.getY(); break; case MotionEvent.ACTION_UP: break; default: break; } return true; }
でACTION_MOVEの取得も実装ができました。