2014-03-27 68 views
1

我已經crated登錄屏幕,如果用戶錯誤3次我想顯示2分鐘的計時器。我希望計時器可以直觀地顯示在屏幕上。我會嘗試這個代碼,它的工作,但我不知道如何在屏幕上顯示計時器。延遲後的通話方式

Handler handler = new Handler(); 
long waitingTime = 2 * 60 * 1000; // 2 min 

handler.postDelayed(new Runnable() { 
@Override 
public void run() 
{ 
    //Do something after 2 min   
} 
}, waitingTime); 
+0

尋找一個倒數計時器? http://stackoverflow.com/questions/17839419/android-thread-for-a-timer – Raghunandan

+0

是的,這是非常感謝:) – KiKo

+0

這是很好的工作給我。 –

回答

2

你需要有Handler稱爲每一秒,每遍期間更新UI。當你達到2分鐘時,你可以取消處理程序。

代碼應該是這樣的:

final Handler handler = new Handler(); 
//class variable 
count = 0; 

handler.post(new Runnable() { 
    @Override 
    public void run() { 
     updateCounter(count++); 

     if(count < 120) { 
      handler.postDelayed(this, 1000); 
     } 
    } 
}); 

和功能更新計數器:

private void updateCounter(final int count) { 
    runOnUiThread(new Runnable() { 
     @Override 
     public void run() { 
      // you have the seconds passed 
      // do what ever you want 
     } 
    }); 
} 
+0

怎麼樣遞增計數 – kiruwka

+0

編輯:)忘了加++謝謝! –

0

你需要使用runOnUiThread(Runnable的動作)

+0

op發佈的代碼有什麼問題? – Raghunandan