利用Android自带的CountDownTimer实现手机验证码倒计时
利用Android中自带的CountDownTimer实现手机验证码倒计时
public class TimeCountUtil extends CountDownTimer { private static final int TIME_TASCK = 1000; private Button button; public TimeCountUtil(long millisInFuture, Button view) { //millisInFuture倒计时总时间 super(millisInFuture, TIME_TASCK); button = view; } @Override public void onFinish() {// 计时完毕 button.setText("发送验证码"); button.setClickable(true); } @Override public void onTick(long millisUntilFinished) {// 计时过程 button.setClickable(false);//防止重复点击 button.setText("("+(millisUntilFinished / TIME_TASCK)+")后重新发送"); } }
使用
//每次调用的时候只需要调用start()方法即可 mTimeCount.start();
另外,为了节省资源,在Activity销毁时应该停止倒计时:
@Override protected void onDestroy() { super.onDestroy(); mTimeCount.cancel(); }
个人技术博客:https://myml666.github.io/
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Android开发教程 - 使用Data Binding Android Studio不能正常生成相关类/方法的解决办法
本系列目录 使用Data Binding(一)介绍 使用Data Binding(二)集成与配置 使用Data Binding(三)在Activity中的使用 使用Data Binding(四)在Fragment中的使用 使用Data Binding(五)数据绑定 使用Data Binding(六)RecyclerView Adapter中的使用 使用Data Binding(七)使用BindingAdapter简化图片加载 使用Data Binding(八)使用自定义Interface 使用Data Binding Android Studio不能正常生成相关类/方法的解决办法 有时候新建布局文件时或者定义布局中的变量时,不能即时生成相关Binding类或方法(其实是不能正确索引),也许是IDE支持的一些BUG,不过Android Studio对Data Binding的支持问题也仅限于这些,并且可以比较简单地解决这些问题。 方法一(经常不起作用): 菜单 -> Build -> Clean Project -> Rebuild Project 方法二(推荐): 关...
- 下一篇
我要做 Android 之单例模式
Q:实现单例模式有几种方法?懒汉式中双层锁的目的是什么?两次判空的目的又是什么? 懒汉式(线程不安全) 单例模式最后的目的无非就是获取当前存在的实例对象,如果没有实例对象就实例化一个,有就直接返回。所谓懒汉式,可以从名字进行理解,就是在你第一次使用这个实例之前我都(懒得)不去进行实例化,一直等到第一次需要使用到这个单例的地方再(迫不得已)实例化。 提到单例模式,大多数开发者会直接写出下面的代码: public class SingleTon { private static SingleTon instance; private SingleTon(){ } public static SingleTon getInstance(){ if (instance==null){ instance = new SingleTon(); } return instance; } } 而上面的代码也就是懒汉式的单例模式,只有在第一次调用了getInstance方法的地方才会对instance进行实例化。 这种单例模式的写法在单线程的时候没有问题,但需要注意的是,在 多线程的情况下,这种单例模式...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS7安装Docker,走上虚拟化容器引擎之路