2013-02-23 29 views

回答

1

你必須使用onTouch()方法,它允許檢查如ACTION_UP和ACTION_DOWN 中的onCreate指定它這樣一個按鈕()

btn.setOnTouchListener(this); 

然後在onTouch()動作

@Override 
public boolean onTouch(View arg0, MotionEvent arg1) { 
    switch (arg1.getAction()) { 
    case MotionEvent.ACTION_DOWN: 
     //Start measuring time and when action = up calculate difference in time 
    } 

    return false; 
} 
+0

它如何計算的時間差? – hakiko 2013-02-23 22:41:13

+0

那麼檢查當前的時間,然後再次檢查。 – 2013-02-23 22:42:42

+0

感謝您的幫助。下面的代碼工作 – user2103350 2013-02-25 08:12:24

0

我不確定長按是多長時間,但如果您不需要長達兩秒鐘,我會爲該按鈕註冊一個onLongClickListener。然後讓聽衆更新顏色。

+0

button2.setOnTouchListener(新OnTouchListener(){ 公共布爾onTouch(視圖V,MotionEvent事件){ 如果(event.getAction()== MotionEvent.ACTION_DOWN){ \t倒計時= System.currentTimeMillis的();如果(event.getAction()== MotionEvent.ACTION_UP) } { \t timeUp = System.currentTimeMillis的();如果 (timeUp - 倒計時> 2000)Toast.makeText(getApplicationContext(), 「> 2秒」, Toast.LENGTH_LONG).show(); } return true; } }); – user2103350 2013-02-25 08:28:07

相關問題