子线程计时器TimeCountThread-时分秒
- 更多其他页面-自定义View-实用功能合集:点击查看
功能简介
开启子线程进行计时,可通过监听接口,获取总时间 和 时:分:秒
相关文章讲解:
String.format的使用方法?点击跳转
实现步骤
1.创建TimeCountThread.java并继承一个Thread
2.通过循环线程,每次循环时睡眠当前子线程1秒,并将变量totalTime++
,从而达到实现每秒计时的效果
3.定义接口TimeCountListener
拿到总时间,或 通过字符串转换拿到h: m: s 的格式
java代码
/**
* 简介:开启子线程计时器,可通过接口拿到总时间,或h:m:s格式
* 作者:YFZ
* Android技术生活-QQ交流群:723592501
**/
public class TimeCountThread extends Thread{
private TimeCountListener mTimeCountListener;
private boolean isRunning=true;
private int totalTime=0;
@Override
public void run() {
super.run();
while (isRunning){
totalTime++;
try {
sleep(1000);//暂停线程1秒
} catch (InterruptedException e) {
e.printStackTrace();
}
if(null != mTimeCountListener) mTimeCountListener.getTime(totalTime,String.format("%02d:%02d:%02d",(totalTime /3600%24),(totalTime %3600/60),totalTime %60));
}
}
public void setOnTimeCountListener(TimeCountListener timeCountListener){
this.mTimeCountListener = timeCountListener;
}
//接口,
public interface TimeCountListener {
void getTime(int totalTime,String h_m_s_format );
}
//停止线程
public void endThread(){
isRunning=false;
}
}
Android技术生活交流
微信 ----- qq群