我有以下代码......
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 :(得分:7)
很简单
public yourClass{
long down;
public boolean onTouch(View view, MotionEvent me) {
//you don't 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;
}
}
}
答案 1 :(得分:2)
我想你想测量两个事件之间的时间。这很简单。您所需要的只是找到一个返回当前时间的API方法。在这种情况下,android.os.SystemClock.elapsedRealtime()或.uptimeMillis()应该为您服务(android documentation)。
发生第一个事件时,将当前时间保存在变量中。在第二个事件中,您只需计算当前时间与之前存储的值之间的差异。
答案 2 :(得分:0)
您可以使用
System.currentTimeMillis();
捕捉每个事件的时间