成都创新互联网站制作重庆分公司

Android项目中利用CountDownTimer实现一个倒数功能

Android项目中利用CountDownTimer实现一个倒数功能?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

成都创新互联公司是一家专业提供新津县企业网站建设,专注与成都做网站、网站建设、H5页面制作、小程序制作等业务。10年已为新津县众多企业、政府机构等服务。创新互联专业的建站公司优惠进行中。

实现倒计时的效果

例子:发送验证码按钮

效果图:

Android项目中利用CountDownTimer实现一个倒数功能

/**
 * 倒计时
 * 
 * @author admin
 * 
 */
public class MainActivity extends ActionBarActivity {

  private Button tvTime;// 显示时间
  private MyCountDownTimer myCountDownTimer;// 倒计时对象

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    tvTime = (Button) findViewById(R.id.time);
    tvTime.setText("发送验证码");
    tvTime.setOnClickListener(new OnClickListener() {

      @Override
      public void onClick(View v) {

        start();

        tvTime.setEnabled(false);// 倒计时时不可点击

      }
    });
  }

  /**
   * 开始
   * 
   * @param view
   */
  public void start() {
    long countDownInterval = 1000;// 间隔时间
    long millisInFuture = 20000;// 时长
    myCountDownTimer = new MyCountDownTimer(millisInFuture,
        countDownInterval);
    myCountDownTimer.start();
  }



  /**
   * 结束
   * 
   * @param view
   */
  public void end() {
    if (myCountDownTimer != null) {
      myCountDownTimer.cancel();

    }
  }

  @Override
  protected void onDestroy() {
    super.onDestroy();
    end();
  }

  /**
   * 倒计时
   * 
   * @author admin
   * 
   */
  private class MyCountDownTimer extends CountDownTimer {

    public MyCountDownTimer(long millisInFuture, long countDownInterval) {
      super(millisInFuture, countDownInterval);
    }

    // 可直接更新UI
    @Override
    public void onTick(long millisUntilFinished) {
      tvTime.setText("剩余时间:" + millisUntilFinished / 1000);// 转化为秒
    }

    @Override
    public void onFinish() {
      tvTime.setText("获取验证码");
      tvTime.setEnabled(true);// 当时间结束时才可以点击

    }

  }

}

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联的支持。


文章标题:Android项目中利用CountDownTimer实现一个倒数功能
网址分享:http://cxhlcq.com/article/jespsh.html

其他资讯

在线咨询

微信咨询

电话咨询

028-86922220(工作日)

18980820575(7×24)

提交需求

返回顶部