Android中Handler实现倒计时的两种方式
发布时间 - 2026-01-11 02:08:11 点击率:次背景:

最近项目中,正好做到登录/注册这个功能块。它需要通过发送验证码,在规定的时间内用验证码来完成登录/注册。之前的项目中也有这个功能,但是觉得太复杂了,只好自己重新实现一遍。用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的便利方法。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# Handler实现倒计时
# Android
# Handler
# 倒计时
# Android实现倒计时
# android自定义倒计时控件示例
# android实现倒计时功能代码
# Android实现计时与倒计时的常用方法小结
# Android 实现闪屏页和右上角的倒计时跳转实例代码
# Android自定义圆形倒计时进度条
# Android实现时间倒计时功能
# Android 实现广告欢迎界面(倒计时)
# Android定时器和倒计时实现淘宝秒杀功能
# Android实现倒计时方法汇总
# Android实现一个完美的倒计时功能
# 验证码
# 回调
# 服务端
# 发消息
# 是一个
# 也有
# 一遍
# 时间内
# 可以看出
# 来做
# 来完成
# 大家多多
# 太复杂
# MSG_CODE
# sendEmptyMessage
# int
# static
# final
# limitTime
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel Seeder怎么填充数据_Laravel数据库填充器的使用方法与技巧
如何撰写建站申请书?关键要点有哪些?
北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?
桂林网站制作公司有哪些,桂林马拉松怎么报名?
品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?
消息称 OpenAI 正研发的神秘硬件设备或为智能笔,富士康代工
深圳网站制作平台,深圳市做网站好的公司有哪些?
移动端脚本框架Hammer.js
标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析
Linux网络带宽限制_tc配置实践解析【教程】
Android滚轮选择时间控件使用详解
制作公司内部网站有哪些,内网如何建网站?
Laravel如何为API生成Swagger或OpenAPI文档
网站制作价目表怎么做,珍爱网婚介费用多少?
湖南网站制作公司,湖南上善若水科技有限公司做什么的?
在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?
如何快速搭建高效简练网站?
深圳网站制作培训,深圳哪些招聘网站比较好?
Laravel如何实现邮箱地址验证功能_Laravel邮件验证流程与配置
深圳网站制作的公司有哪些,dido官方网站?
Laravel如何实现本地化和多语言支持_Laravel多语言配置与翻译文件管理
Windows家庭版如何开启组策略(gpedit.msc)?(安装方法)
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
活动邀请函制作网站有哪些,活动邀请函文案?
家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?
JS去除重复并统计数量的实现方法
Internet Explorer官网直接进入 IE浏览器在线体验版网址
如何在腾讯云服务器上快速搭建个人网站?
百度浏览器如何管理插件 百度浏览器插件管理方法
Claude怎样写约束型提示词_Claude约束提示词写法【教程】
Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】
Laravel的HTTP客户端怎么用_Laravel HTTP Client发起API请求教程
Python制作简易注册登录系统
武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?
如何用腾讯建站主机快速创建免费网站?
Laravel Livewire是什么_使用Laravel Livewire构建动态前端界面
Laravel中Service Container是做什么的_Laravel服务容器与依赖注入核心概念解析
Win11怎么查看显卡温度 Win11任务管理器查看GPU温度【技巧】
大同网页,大同瑞慈医院官网?
如何在香港免费服务器上快速搭建网站?
jimdo怎样用html5做选项卡_jimdo选项卡html5实现与切换效果【指南】
电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?
Javascript中的事件循环是如何工作的_如何利用Javascript事件循环优化异步代码?
Python文件流缓冲机制_IO性能解析【教程】
实例解析angularjs的filter过滤器
智能起名网站制作软件有哪些,制作logo的软件?
Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】
Win11应用商店下载慢怎么办 Win11更改DNS提速下载【修复】
Windows驱动无法加载错误解决方法_驱动签名验证失败处理步骤
JS经典正则表达式笔试题汇总

