1

我有两个按钮,我想计算两次点击之间的时间。我知道该怎么做一次:

 Long starttime = System.currentTimeMillis();
 Long endtime = System.currentTimeMillis();
 Long differenz = ((endtime-starttime) / 1000);

现在,我希望在第二次单击时,计数再次从零开始,直到单击第一个按钮。然后,测量第一次和第二次按钮点击之间的时间,依此类推。

也许这是一个非常简单的事情,但我不知道该怎么做......

编辑:好的,我试着说清楚:

我有按钮 A 和 B。我希望用户交替按下按钮 A 和 B。当用户单击按钮 A 时,我想要一个计时器来测量单击 B 之前的时间。直到这里,我都清楚了。现在我希望测量点击 B 到点击 A 之间的时间,始终在 A 和 B 之间交替。

我不知道在点击 B 之后要做什么,直到 A 再次测量时间。

4

2 回答 2

2

班级成员

boolean mButtonAClicked;
boolean mButtonBClicked;

long mStartTime = 0;

单击按钮 A 时

if (mButtonAClicked)
{
    // button A is clicked again, stop application
}
else
{
    mButtonAClicked = true;
    mButtonBClicked = false;
    if (mStartTime != 0) // Button B was clicked
    {
         Long endtime = System.currentTimeMillis();
         Long differenz = ((endtime-starttime) / 1000);
         mStartTime = System.currentTimeMillis();
    }
}  

当按钮 B 被点击时

if (mButtonBClicked)
{
    // button B is clicked again, stop application
}
else
{
    mButtonBClicked = true;
    mButtonAClicked = false;
    if (mStartTime != 0) // Button A was clicked
    {
         Long endtime = System.currentTimeMillis();
         Long differenz = ((endtime-starttime) / 1000);
         mStartTime = System.currentTimeMillis();
    }
}  
于 2013-04-03T19:34:47.047 回答
1

创建一个字段以保留上次按下每个字段。

long aMillisPressed;
long bMillisPressed;

单击按钮 A 时:

aMillisPressed = System.currentTimeMillis();
long timeElapsedSinceBPressed = aMillisPressed - bMillisPressed;

当 B 被点击时:

bMillisPressed = System.currentTimeMillis();
long timeElapsedSinceAPressed = bMillisPressed - aMillisPressed;
于 2013-04-03T18:55:59.493 回答