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);
}


已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 游动-白 设计师:白松林 返回首页