Android实现计时器(Handle+Runable)

由于项目的运动模块在开始运动的时候会有一个计时器,来统计本次运动的时长,在此分享一个简单计时器的实现方式,主要通过Handle的postDelay方法来实现一个定时任务。

/*****************计时器*******************/
private Runnable timeRunable = new Runnable() {
    @Override
    public void run() {

        currentSecond = currentSecond + 1000;
        timerText.setText(TimeUtil.getFormatHMS(currentSecond));
        if (!isPause) {
            //递归调用本runable对象,实现每隔一秒一次执行任务
            mhandle.postDelayed(this, 1000);
        }
    }
};
//计时器
private Handler mhandle = new Handler();
private boolean isPause = false;//是否暂停
private long currentSecond = 0;//当前毫秒数
/*****************计时器*******************/

TimeUtil工具类的方法:

/**
 * 根据毫秒返回时分秒
 * @param time
 * @return
 */
public static String getFormatHMS(long time){
    time=time/1000;//总秒数
    int s= (int) (time%60);//秒
    int m= (int) (time/60);//分
    int h=(int) (time/3600);//秒
    return String.format("%02d:%02d:%02d",h,m,s);
}


  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值