日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android 万能倒计时,时分秒倒计时

發布時間:2023/12/10 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android 万能倒计时,时分秒倒计时 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、工具類

/*** 作者:created by meixi* 郵箱:15913707499@163.com* 日期:2018/12/28 15*/public class TimerUtil {private static final int nHandlerMsg = 23566124;private int nStartDelayTime;private int nIntervalTime;private Timer mTimer;private TimerTask mTimeTask;private Handler mHandler;private OnTimerChangeListener onTimerChangeListener;public TimerUtil(int nStartDelayTime, int nIntervalTime, OnTimerChangeListener onTimerChangeListener) {this.nStartDelayTime = nStartDelayTime;this.nIntervalTime = nIntervalTime;this.onTimerChangeListener = onTimerChangeListener;}/*** 計時器開始*/public void timeStart() {timeStop();mHandler = new TimeHandler(this);mTimeTask = new TimerTask() {@Overridepublic void run() {if (mHandler != null)mHandler.obtainMessage(nHandlerMsg).sendToTarget();}};mTimer = new Timer();mTimer.schedule(mTimeTask, nStartDelayTime, nIntervalTime);}/*** 停止計時器*/public void timeStop() {if (mTimer != null)mTimer.cancel();if (mTimeTask != null)mTimeTask.cancel();mTimeTask = null;mHandler = null;mTimer = null;}private void doTimeChange() {if (onTimerChangeListener != null)onTimerChangeListener.doChange();}private static class TimeHandler extends Handler {WeakReference<TimerUtil> weakReference;public TimeHandler(TimerUtil timerUtil) {weakReference = new WeakReference<>(timerUtil);}@Overridepublic void handleMessage(Message msg) {TimerUtil timerUtil = weakReference.get();if (msg.what == nHandlerMsg)timerUtil.doTimeChange();super.handleMessage(msg);}}public interface OnTimerChangeListener {void doChange();} }

2、實例化

private int mMin = 11; private TimerUtil timerUtil;

private void initTimerUtil() {TimerUtil.OnTimerChangeListener onTimerChangeListener = new TimerUtil.OnTimerChangeListener() {@Overridepublic void doChange() {doTimeChange();}};timerUtil = new TimerUtil(0, 1000, onTimerChangeListener);}private void doTimeChange() {mMin--;if (mMin < 0) {mMin = 11; // timeStop();//如是周期倒計時,不停。一次性倒計時則,stop // activityExchangePhoneSendCode.setText("獲取驗證碼");Log.i("lgq","sss6666==ss="+mMin);return;}Log.i("lgq","sss6666==="+mMin); // activityExchangePhoneSendCode.setText(String.valueOf(mMin)+"秒后重發");//倒計時過程}/*** 停止計時器*/private void timeStop() {timerUtil.timeStop();}/*** 計時器開始*/private void timeStart() {timerUtil.timeStart();}

3、調用開始

onCreate方法調用初始化 initTimerUtil();隨時開啟倒計時timeStart();

時分秒倒計時

int ms,fs,ss;public void daojishi(String shi,String fen,String mian){ss = Integer.parseInt(shi);fs = Integer.parseInt(fen);ms = Integer.parseInt(mian);//開始延時5秒,每次間隔12秒Observable.interval(1, 1, TimeUnit.SECONDS).observeOn(AndroidSchedulers.mainThread()).subscribe(new Consumer<Long>() {@Overridepublic void accept(Long aLong) {runOnUiThread(new Runnable() {@Overridepublic void run() {// LgqLogPlus.e("倒計時。。。。"+ms);if (ms>0){ms--;if (ms<10){miaote.setText("0"+ms);}else {miaote.setText(ms+"");}}else if (ms==0){if (fs>0){if (ms==0){ms=60;miaote.setText(ms+"");}}if (fs>0){fs--;if (fs<10){fente.setText("0"+fs);}else {fente.setText(fs+"");}}else if (fs==0){if (ss>0){if (fs==0){fs=60;fente.setText(fs+"");}}if (ss>0){ss--;fs=60;ms=60;if (ss<10){shite.setText("0"+ss);}else {shite.setText(ss+"");}}else {shite.setText("00");}}}}});}});}

?

總結

以上是生活随笔為你收集整理的android 万能倒计时,时分秒倒计时的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。