2012-07-16 102 views
-2

我想测量连续点击之间的时间(以毫秒为单位)。我怎样才能做到这一点?如何测量水龙头之间的时间达到毫秒?

+0

对于每个水龙头获取当前时间,并找出圈流水龙头时间之间的差异。 – 2012-07-16 20:44:34

+0

使用[System.currentTimeMillis()](http://developer.android.com/reference/java/lang/System.html#currentTimeMillis%28%29) – Squazic 2012-07-16 20:45:50

+0

可能的重复[android - 测量两者之间的时间按钮点击](http://stackoverflow.com/questions/7965065/android-to-measure-the-time-betweeen-the-two-button-clicks) – Sam 2012-07-16 20:57:13

回答

6
View myView; 
long previousClickTime; 

... 

myView.setOnTouchListener(new View.OnTouchListener(){ 
    @Override 
    public boolean onTouch(View v, MotionEvent ev) 
    { 
     long temp = System.currentTimeMillis(); 
     if (previousClickTime != 0) 
     { 
      Log.i("MyView", "Time Between Clicks=" + (temp - previousClickTime)); 
     } 
     else 
     { 
      Log.i("MyView", "First Click"); 
     } 
     previousClickTime = temp; 

     return true;//Note that you can return false, and any underlying Views will then receive this touch event. 
    } 
} 

作为一个侧面说明,如果你想检测双击,尝试GuestureDetector.setOnDoubleTapListener

1

覆盖onCLick()事件。

onClick()事件中。让您的应用获得第一次点击并存储时间。然后第二次存储并获得两次敲击之间的差异。只显示差异。

下面的代码是非常简单的,可能不是你在找什么,但我把它作为一个非常简单的例子。

long initialTime = 0; 
long endTime = 0; 

onClick() { 

    if(initialTime == 0){ 
     initialTime = System.currentTimeMillis(); 
    } else { 
     endTime = System.currentTimeMillis(); 
     long diff = endTime - initialTime; 
     initialTime = endTime; 
     Log.i("your app", "time between click: " + diff); 
    } 

}