Android中Handler实现倒计时的两种方式
程序员文章站
2022-06-04 21:41:21
背景:
最近项目中,正好做到登录/注册这个功能块。它需要通过发送验证码,在规定的时间内用验证码来完成登录/注册。之前的项目中也有这个功能,但是觉得太复杂了,只好自己重新实...
背景:
最近项目中,正好做到登录/注册这个功能块。它需要通过发送验证码,在规定的时间内用验证码来完成登录/注册。之前的项目中也有这个功能,但是觉得太复杂了,只好自己重新实现一遍。用handler来做,觉得代码简介,逻辑也清楚。
代码一:
//在向服务端发送获取验证码成功的回调函数中,开始发消息: mhandler.obtainmessage(); mhandler.sendemptymessage(msg_code); //消息的处理: private static final int msg_code = 0; private int limittime = 121; private handler mhandler = new handler(new handler.callback() { @override public boolean handlemessage(message msg) { if(msg.what==msg_code){ limittime--; if(limittime>0){ mhandler.sendemptymessagedelayed(msg_code,1000); mbtnverify.settext("倒计时:"+limittime+"s"); }else{ mbtnverify.settext("获取验证码"); } return true; } return false; } });
代码二:
//在向服务端发送获取验证码成功的回调函数中,开始发消息: mhandler.post(myrunnale); //消息的处理: private int time = 11; private handler mhandler = new handler(); private runnable myrunnale = new runnable() { @override public void run() { time--; if(time>0){ mhandler.postdelayed(myrunnale,1000); mtvchange.settext("剩余"+time+"s"); }else{ mtvchange.settext("完毕"); } } };
从上述代码中可以看出:使用handler.post(runnable) 是一个发布messgae的便利方法。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
推荐阅读
-
Android 中倒计时验证两种常用方式实例详解
-
Android中实现异步任务机制的AsyncTask方式的使用讲解
-
Android实现音乐播放进度条传递信息的两种方式(在service和activity中)
-
Android中Rxjava实现三级缓存的两种方式
-
Android中自定义View的实现方式总结大全
-
详解Android Activity中的几种监听器和实现方式
-
Android中通过view方式获取当前Activity的屏幕截图实现方法
-
Android中启动Activity的两种方式分析
-
Android实现跑马灯效果的两种简单方式
-
Android中ProgressBar的使用-通过Handler与Message实现进度条显示