Android(安卓)Timer类的使用
16lz
2021-12-04
Android的计时器与Java的有点不同,需要配套TimerTask使用,基本的用法如下:
Handler handler = new Handler() { // 定义处理信息的方法 public void handleMessage(Message msg) { switch (msg.what) { case 1: //处理代码 break; } super.handleMessage(msg); } }; TimerTask timerTask = new TimerTask() { @Override public void run() { Message message = new Message(); message.what = 1; handler.sendMessage(message); } }; // new一个计时器实例 Timer timer = new Timer(); // new一个计时器任务的实例,并重写其run方法,定义触发的动作 // 设定计时器的任务以及时间 timer.schedule(welcomeTask, 1500);
Timer有个Cancel的方法,一旦调用,之后再schedule任务就会报错.同样,TimerTask也可以取消,但当Timer计时完毕触发调用该任务时就会报错说,该任务已取消!
所以要实现循环计时的动作,可以用以下的方法:
private Handler handler = new Handler() {// 定义处理信息的方法public void handleMessage(Message msg) {switch (msg.what) {case 1: //处理代码 timer.cancel(); break;}super.handleMessage(msg);}};;private Timer timer =null;private class MyTimeTask extends TimerTask{@Overridepublic void run() {Message message = new Message();message.what = 1;handler.sendMessage(message);}}//某处调用timer************************************************************* timer = new Timer(); //计时任务开始timer.schedule(new MyTimeTask(), 2000);
更多相关文章
- 浅谈Java中Collections.sort对List排序的两种方法
- Python list sort方法的具体使用
- python list.sort()根据多个关键字排序的方法实现
- Android获取本机Mac地址及IP地址的方法
- Android(安卓)远程链接 daemon not running 解决方法
- 问题:在运行android的项目时出现的异常
- android > Android实现计时与倒计时的几种方法
- 屏幕切换,保存内容
- 非UI线程可不可以更新UI(一)