定时器timer的使用 小灰灰 2022-09-09 14:54 148阅读 0赞 本质上都是线程的使用,使用定时器timer则结构比较清晰 1 定义定时器Timer //定时器 Timer timer = new Timer(); 2 定时器任务TimerTask //定时器任务 TimerTask timertask = new TimerTask() { //(这个run 的使用就是开启了一个新的线程, // 在这个子线程中是无法更新UI 的,比如更新TextView 的显示内容。) @Override public void run() { //(message 定义,是为了给Handler 向Ui 发送信息作为媒介。) Message msg = new Message(); msg.what = 0; msg.arg1=progCount++; //(Handler 发送message。 // 这里发送回去调用handler 类中的回掉函数:handlerMessage()) handler.sendMessage(msg); } }; 3 消息处理机构Handler //消息响应 @SuppressLint("HandlerLeak") private Handler handler = new Handler(){ public void handleMessage(Message message){ switch (message.what){ // (what 是message 中的变量,可以尽情的使用) case 0: //达到100关闭定时器 if(message.arg1>=100) timer.cancel(); // (在这里面就可以调用TextView 控件了。) textView2.setText(String.valueOf(message.arg1)); break; case 1: textView2.setText("456"); break; } } }; 4 定时器的启动 可以在你需要启动的地方,比如某个按钮下 timer.schedule(timertask,1000,1000); 第二个1000是延迟启动时间,第三个1000是定时器间隔启动一次时间
还没有评论,来说两句吧...