要去实现一个计时器功能:倒记时10秒,倒计时结束后,触发事件A,倒计时过程中,若触发事件B,则重置计时器,重新倒计时十秒。类似于手机的息屏操作,无操作15秒息屏,期间有操作的话重新计算15秒。
首先新建一个Timer()对象
Timer t = new Timer();
开起倒计时,倒计时10秒,倒计时结束后,运行自定义的TimerTask方法
t.schedule(new myTask,10000);
触发事件B时,手动结束之前计时器开启新的计时器
t.cancel();
t = new Timer();
t.schedule(new MyTask(),10000);
结束之前计时器时可以增加一个判断,判断之前计时器有没有计时完成,计时完成了则不用手动结束。也可以不判断,不论有没有计时完成,都手动结束一次。官方文档之处Timer.cancel()可以多次调用,Timer()已经结束后调用不会产生任何操作。