2011-12-02 88 views
0

我有一個看似簡單的問題,我需要幫助。我有一個按鈕。我想要它,所以當我點擊按鈕時,它會增加一個。我也希望當我按住相同的按鈕約2秒時,它會從總數中刪除一個。我唯一遇到的問題是運動事件部分。我一直在嘗試ACTION_UP和ACTION_DOWN,但沒有運氣。是否有捷徑可尋?Android運動事件按住按鈕

switch (event.getAction()) 
     {  
      case MotionEvent.ACTION_DOWN: 
      { 
       total ++; 
       return true; 
      } 

      case MotionEvent.ACTION_UP: 
      { 
       if(total >0){ 
       total--; 
       } 
       return true; 
      } 
     } 

感謝您的幫助!

回答

3

爲什麼不使用按鈕的setOnClickListenersetOnLongClickListener

這種方法的唯一限制是如果我沒有記錯的話,你不能設置超過1.5秒的超時值。

如果你堅持兩秒鐘(或其他值),那麼我想你可以使用onTouchListener並自己記錄按下的時間。在這種情況下,MotionEvent的getDownTime可能會引起您的興趣。

+0

謝謝先生。它工作完美。我不知道你可以添加多個動作偵聽器到一個按鈕! – user1076755

+0

很高興爲您服務!請考慮接受我的回答作爲您的問題的答案,因爲這可以幫助其他人解決類似的問題。 :) –

+0

我再次感謝! – user1076755