2013-04-03 70 views
1

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

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

现在,我想在第二次点击,第一按钮被点击,直到数从零重新开始。然后,测量第一次和第二次按钮点击之间的时间等。

也许it'sa很简单的事情,但我不知道该怎么办......

编辑:好吧,我尽量做到明确:

我有按钮A和B 。我希望用户交替地按下按钮A和B.当用户点击按钮A时,我想要一个定时器来测量直到B被点击的时间。在此之前,一切都很清楚。 现在我想要测量点击B到点击A之间的时间,并且始终在A和B之间交替。

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

+1

更加清晰,命名按钮A和B,并详细描述你想要的东西。例如,如果点击A并再次单击,则会发生什么...... – 2013-04-03 18:44:40

+0

如果点击并再次单击A,会发生什么情况?是否有可能,或者您是否一旦点击A就会禁用A,并且一旦B点击,只能再次启用它? – 2013-04-03 18:56:02

+0

如果再次单击A,则应停止一切。不,我不想禁用它! – user896692 2013-04-03 18:57:22

回答

2

类成员

boolean mButtonAClicked; 
boolean mButtonBClicked; 

long mStartTime = 0; 

当点击

按钮210
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被cliked

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(); 
    } 
} 
1

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

long aMillisPressed; 
long bMillisPressed; 

当点击按钮A:

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

并在单击B时的:

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