/**
* @author:
* @date: 2023/11/21
* 计时器
*/
public class TimerUtils {
private TextView textView;
//单位时
private int hour=0;
//单位分
private int minute=0;
//单位秒
private int second=0;
//单位时
private String hourString = "00";
//单位分
private String minuteString = "00";
//单位秒
private String secondString = "00";
private Handler handler = new Handler(Looper.myLooper()) {
@Override
public void handleMessage(@NonNull Message msg) {
super.handleMessage(msg);
switch (msg.what){
case 1:
//计时器
textView.setText(hourString+":"+minuteString+":"+secondString);
break;
}
}
};
public TimerUtils(TextView textView){
this.textView = textView;
if (handler!=null)
handler.sendEmptyMessageDelayed(1,0);
new Timer("计时器").scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
setSecond();
Message msg = new Message();
msg.what = 1;
if (handler!=null)
handler.sendMessage(msg);
}
}, 0, 1000L);
}
/**
* @description 秒
* @param
*/
private void setSecond() {
second++;
switch (second){
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
secondString = "0"+second;
break;
case 60:
second = 0;
setMinute();
break;
default:
secondString = String.valueOf(second);
break;
}
}
/**
* @description 分
* @param
*/
private void setMinute() {
minute++;
switch (minute){
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
minuteString = "0"+minute;
break;
case 60:
minute = 0;
setHour();
break;
default:
minuteString = String.valueOf(minute);
break;
}
}
/**
* @description 时
* @param
*/
private void setHour() {
hour++;
switch (hour){
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
hourString = "0"+hour;
break;
default:
hourString = String.valueOf(hour);
break;
}
}
public void destroy(){
if (handler!=null){
handler.removeCallbacksAndMessages(null);
}
}
}
Android 计时器
最新推荐文章于 2024-08-08 22:52:15 发布