我创建了一个按钮和一个位图,我想要做的就是当我单击按钮并按住它时,位图将向右移动,当我抬起手指时,位图将停止移动,ACTION_DOWN事件正常,当我按住时,位图会移动,但当我抬起手指时,应用程序会崩溃。我不知道我的代码的哪一部分是错的。请帮我。谢谢你的帮助。 这是我的代码
活动类中按钮的触控侦听器。
btnRight.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
loopView.moveRight();
break;
case MotionEvent.ACTION_UP:
break;
default:
break;
}
return false;
}
});
控制surfaceview类中的移动
public void moveRight() {
direction=RIGHT;
}
@Override
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
super.onDraw(canvas);
canvas.drawColor(Color.BLACK);
switch (direction) {
case UP:
if (y>=0) {
y-=2;
}
break;
case DOWN:
if(y>=getHeight()){
y+=2;
}
break;
case LEFT:
if (x>=0) {
x-=2;
}
break;
case RIGHT:
if (x<=300) {
x+=2;
}
break;
default:
break;
}
canvas.drawBitmap(bmpBitmap, x, y, null);
}