Я java / android noob, но вот код, который работает для меня:
class HelloOnTouchListener implements OnTouchListener {
public boolean onTouch(View v, MotionEvent e) {
handleTouchEvent(e);
return true;
}
}
public void handleTouchEvent(MotionEvent e) {
int eAct = e.getAction();
if (eAct == 0) Log.d("touch", "press");
else if (eAct == 1) Log.d("touch", "release");
}
А вот код, который не работает (UP запускается дважды, сначала сразу после DOWN, а затем, когда высобственно релиз):
public void handleTouchEvent(MotionEvent e) {
int eAct = e.getAction();
switch (eAct) {
case MotionEvent.ACTION_DOWN: Log.d("touch", "press");
case MotionEvent.ACTION_UP: Log.d("touch", "release");
}
}