Я не знаю, почему вы рисуете линии в методе onTouchEvent. В методе onTouchEvent вам всего лишь нужно взять сенсорные элементы и нарисовать картинку в методе onDraw.
bitampCross = BitmapFactory.decodeResource(getResources(),R.drawable.cross);
protected void onDraw(Canvas canvas) {
Paint background = new Paint();
background.setColor(Color.WHITE);
canvas.drawRect(0, 0, getWidth(), getHeight(), background);
canvas.drawBitmap(backgroundGrid, 10, 0, null);
if (pos == 1) {
canvas.drawBitmap(bitampCross, bitampCross.getWidth() + 20,
bitampCross.getHeight() + 15, null);
}
if (pos == 2) {
canvas.drawBitmap(bitmapCircle, bitmapCircle.getWidth() + 20,
bitmapCircle.getHeight() + 15, null);
}
}//end of onDraw
----------
public boolean onTouchEvent(MotionEvent event) {
int action = event.getAction();
if (action == MotionEvent.ACTION_DOWN) {
return true;}
}else if(action == MotionEvent.ACTION_UP){
//Do your checks if want to draw the image.
//For example your board can not take the whole screen
//return true or false in this block
//For example:
int x = (int) event.getX();
int y = (int) event.getY();
if(x<200 && y<200)
return true;
else
return false;
}
invalidate();
return false;
}//end of onTouchEvente`