2013-04-03 43 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;