public void onClick(View v) {
if (!timerRunning)
{
timerRunning = true;
timerUpdateHandler.post(timerUpdateTask);
}
}
下面的代码是称为timerUpdateTask的Runnable对象。该对象包含run方法,通过timer- UpdateHandler对象触发它。
private Runnable timerUpdateTask = new Runnable() {
public void run()
{
如果currentTime(保存倒计时的整数)大于1,那么将对它进行递减,同时安排1秒钟后再次调用该Handler对象。
if (currentTime > 1)
{
currentTime--;
timerUpdateHandler.postDelayed(timerUpdateTask, 1000);
}
else
{
如果currentTime不再大于1,那么将实际触发摄像头以使其照相,并重置所有的跟踪变量。
camera.takePicture(null,null ,TimerSnapShot.this);
timerRunning = false;
currentTime = 10;
}
无论如何,我们都将更新TextView对象,使得它在照相之前一直显示当前的时间。