public void onClick(View v) {
if (!timerRunning)
{
timerRunning = true;
timerUpdateHandler.post(timerUpdateTask);
}
}
下面的代碼是稱為timerUpdateTask的Runnable對象。該對象包含run方法,通過timer- UpdateHandler對象觸發(fā)它。
private Runnable timerUpdateTask = new Runnable() {
public void run()
{
如果currentTime(保存倒計時的整數(shù))大于1,那么將對它進行遞減,同時安排1秒鐘后再次調用該Handler對象。
if (currentTime > 1)
{
currentTime--;
timerUpdateHandler.postDelayed(timerUpdateTask, 1000);
}
else
{
如果currentTime不再大于1,那么將實際觸發(fā)攝像頭以使其照相,并重置所有的跟蹤變量。
camera.takePicture(null,null ,TimerSnapShot.this);
timerRunning = false;
currentTime = 10;
}
無論如何,我們都將更新TextView對象,使得它在照相之前一直顯示當前的時間。