如何测量点击之间的时间长达毫秒?

时间:2012-07-16 20:38:17

标签: android

我想测量连续拍子之间的时间(以毫秒为单位)。我怎么能这样做?

2 个答案:

答案 0 :(得分:8)

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 :(得分: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);
    }

}