每个Item都可以获取相应的触摸事件,比较容易出现的有MotionEvent类中定义的以下几种情况:
public static final int ACTION_DOWN = 0;
public static final int ACTION_UP = 1;
public static final int ACTION_MOVE = 2;
public static final int ACTION_CANCEL = 3;
public static final int ACTION_OUTSIDE = 4;
首先在点击某一个选项时,直接触发ACTION_DOWN动作。之后如果进行拖动,则产生ACTION_MOVE动作,而且拖动过程会敏感地检测到触摸点的每一个移动,从而不断地回调onTouch方法。如果拖动过程中没有丢失光标,那么在松开后会产生一个ACTION_UP动作。如果拖动过程中使光标丢失,那么回产生一个ACTION_CANCEL动作,而且在下次点击前,将不会再产生任何动作的回调。