Android中Handler实现倒计时的两种方式

 更新时间:2017年07月01日 09:26:02   作者:huang_xiao_yu  
本篇文章主要介绍了Android中Handler实现倒计时的两种方式,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

背景:

最近项目中,正好做到登录/注册这个功能块。它需要通过发送验证码,在规定的时间内用验证码来完成登录/注册。之前的项目中也有这个功能,但是觉得太复杂了,只好自己重新实现一遍。用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自定义 WebView浏览器

    Android自定义 WebView浏览器

    WebView是Android中一个非常实用的组件,它和Safai、Chrome一样都是基于Webkit网页渲染引擎。接下来通过本文给大家介绍android自定义webview浏览器,感兴趣的朋友一起学习吧
    2016-05-05
  • android设置adb自带screenrecord录屏命令

    android设置adb自带screenrecord录屏命令

    这篇文章主要介绍了android设置adb自带screenrecord录屏命令,需要的朋友可以参考下
    2018-11-11
  • Android Studio Gradle依赖冲突解决方法

    Android Studio Gradle依赖冲突解决方法

    这篇文章主要给大家介绍了关于Android Studio Gradle依赖冲突解决的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Android Studio具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-04-04
  • Android ROM升级包的选项解释

    Android ROM升级包的选项解释

    本文主要解释 Android刷机过程中会遇到apply sdcard:update.zip(刷ROM升级包)的选项,对选项解释,以免造成没必要的麻烦,希望对大家有用!
    2016-07-07
  • android编程开发之全屏和退出全屏的实现方法

    android编程开发之全屏和退出全屏的实现方法

    这篇文章主要介绍了android编程开发之全屏和退出全屏的实现方法,以实例形式较为详细的分析了Android全屏及退出全屏的页面布局与功能实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-11-11
  • android使用RxJava实现预加载

    android使用RxJava实现预加载

    这篇文章主要为大家详细介绍了android使用RxJava实现预加载的相关资料,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01
  • android实现九宫格程序

    android实现九宫格程序

    这篇文章主要为大家详细介绍了android实现九宫格程序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-06-06
  • Android 监听网络状态方法详解

    Android 监听网络状态方法详解

    这篇文章主要介绍了Android 监听网络状态方法详解的相关资料,需要的朋友可以参考下
    2017-07-07
  • Android发送短信方法实例详解

    Android发送短信方法实例详解

    这篇文章主要介绍了Android发送短信方法,结合实例形式较为详细的分析了Android发送短信的原理与具体实现技巧,需要的朋友可以参考下
    2016-01-01

最新评论