2011-08-16 43 views
0

我有以下的代碼之間的時間差距......如何找到行動起來,採取行動關閉事件中的Android

public boolean onTouch(View view, MotionEvent me) { 

    //here i want to know the time of touch 

    switch (me.getAction()) { 
     case MotionEvent.ACTION_DOWN: { } 
     case MotionEvent.ACTION_UP: { } 
     - 
     - 
     - 
    } 
    } 

任何想法?

+0

你到底想做什麼?你可以試着在你的問題中解釋更多。使用某種計時器? –

回答

6

這是很簡單的

public yourClass{ 
    long down;  
    public boolean onTouch(View view, MotionEvent me) { 
     //you dont need here the difference because it might be a down action! 
     //you need the difference when the up action occurs 
     switch (me.getAction()) { 
      case MotionEvent.ACTION_DOWN: 
       down = System.currentTimeMillis(); 
       break; 
      case MotionEvent.ACTION_UP: 
       //this is the time in milliseconds 
       long diff = System.currentTimeMillis() - down; 
       break; 
     } 
    } 
}  
+0

當然你的意思是「下」,而不是「長」 – NickT

+0

對不起!是的,我會改正的 –

0

您可以使用

System.currentTimeMillis(); 

捕捉時間上的每個事件

2

要測量兩個事件之間的時間,我想。這很簡單。所有你需要的是找到一個返回當前時間的API方法。在這種情況下,android.os.SystemClock.elapsedRealtime()或.uptimeMillis()應該爲您服務(android documentation)。
當第一個事件發生時,將當前時間保存在變量中。在第二個事件中,您只需計算當前時間與之前存儲的值之間的差異。