2014年6月20日 星期五

[Android]監聽事件之順序關係

   在 Android 中,onClick、onLongClick 的觸發是和 ACTION_DOWN 及 ACTION_UP 相關的,在時序上,如果我們在一個 View 中同時覆寫了onClick、onLongClick 及 onTouchEvent 的話,onTouchEvent 是最先捕捉到 ACTION_DOWN 和 ACTION_UP 事件的,其次才可能觸發 onClick 或者onLongClick。

※下面的 Log 是在 onLongClick() 方法 return false 的情況下,一次觸碰操作的基本時序:
06-19 11:05:15.023: DEBUG/TestActivity(277): onTouch ACTION_DOWN
06-19 11:05:15.533: DEBUG/TestActivity(277): onLongClick
06-19 11:05:16.603: DEBUG/TestActivity(277): onTouch ACTION_UP
06-19 11:05:16.663: DEBUG/TestActivity(277): onClick
可以看到,在 ACTION_UP 後仍然觸發了 onClick() 方法。

沒有留言:

張貼留言