189 8069 5689

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

背景:

嵩明网站制作公司哪家好,找成都创新互联公司!从网页设计、网站建设、微信开发、APP开发、自适应网站建设等网站项目制作,到程序开发,运营维护。成都创新互联公司自2013年创立以来到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联公司

最近项目中,正好做到登录/注册这个功能块。它需要通过发送验证码,在规定的时间内用验证码来完成登录/注册。之前的项目中也有这个功能,但是觉得太复杂了,只好自己重新实现一遍。用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中Handler实现倒计时的两种方式
地址分享:http://jkwzsj.com/article/pggsee.html

其他资讯