Android中Handler實(shí)現(xiàn)倒計(jì)時(shí)的兩種方式
背景:
最近項(xiàng)目中,正好做到登錄/注冊這個(gè)功能塊。它需要通過發(fā)送驗(yàn)證碼,在規(guī)定的時(shí)間內(nèi)用驗(yàn)證碼來完成登錄/注冊。之前的項(xiàng)目中也有這個(gè)功能,但是覺得太復(fù)雜了,只好自己重新實(shí)現(xiàn)一遍。用Handler來做,覺得代碼簡介,邏輯也清楚。
代碼一:
//在向服務(wù)端發(fā)送獲取驗(yàn)證碼成功的回調(diào)函數(shù)中,開始發(fā)消息: mHandler.obtainMessage(); mHandler.sendEmptyMessage(MSG_CODE); //消息的處理: private static final int MSG_CODE = 0; private int limitTime = 121; private Handler mHandler = new Handler(new Handler.Callback() { @Override public boolean handleMessage(Message msg) { if(msg.what==MSG_CODE){ limitTime--; if(limitTime>0){ mHandler.sendEmptyMessageDelayed(MSG_CODE,1000); mBtnVerify.setText("倒計(jì)時(shí):"+limitTime+"s"); }else{ mBtnVerify.setText("獲取驗(yàn)證碼"); } return true; } return false; } });
代碼二:
//在向服務(wù)端發(fā)送獲取驗(yàn)證碼成功的回調(diào)函數(shù)中,開始發(fā)消息: mHandler.post(myRunnale); //消息的處理: private int time = 11; private Handler mHandler = new Handler(); private Runnable myRunnale = new Runnable() { @Override public void run() { time--; if(time>0){ mHandler.postDelayed(myRunnale,1000); mTvChange.setText("剩余"+time+"s"); }else{ mTvChange.setText("完畢"); } } };
從上述代碼中可以看出:使用Handler.post(Runnable) 是一個(gè)發(fā)布Messgae的便利方法。
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- android自定義倒計(jì)時(shí)控件示例
- android實(shí)現(xiàn)倒計(jì)時(shí)功能代碼
- Android實(shí)現(xiàn)計(jì)時(shí)與倒計(jì)時(shí)的常用方法小結(jié)
- Android 實(shí)現(xiàn)閃屏頁和右上角的倒計(jì)時(shí)跳轉(zhuǎn)實(shí)例代碼
- Android自定義圓形倒計(jì)時(shí)進(jìn)度條
- Android實(shí)現(xiàn)時(shí)間倒計(jì)時(shí)功能
- Android 實(shí)現(xiàn)廣告歡迎界面(倒計(jì)時(shí))
- Android定時(shí)器和倒計(jì)時(shí)實(shí)現(xiàn)淘寶秒殺功能
- Android實(shí)現(xiàn)倒計(jì)時(shí)方法匯總
- Android實(shí)現(xiàn)一個(gè)完美的倒計(jì)時(shí)功能
相關(guān)文章
Android中自定義Window Title樣式實(shí)例
這篇文章主要介紹了Android中自定義Window Title樣式實(shí)例,本文給出效果預(yù)覽和實(shí)現(xiàn)方法,需要的朋友可以參考下2015-01-01Android開發(fā)實(shí)現(xiàn)簡單的觀察者與被觀察者示例
這篇文章主要介紹了Android開發(fā)實(shí)現(xiàn)簡單的觀察者與被觀察者,簡單描述了觀察者模式的概念、原理并結(jié)合實(shí)例形式分析了Android實(shí)現(xiàn)觀察者模式的簡單操作技巧,需要的朋友可以參考下2017-11-11Android筆記之:App應(yīng)用之發(fā)布各廣告平臺(tái)版本的詳解
Android的廣告平臺(tái)是很多的,各市場對(duì)各平臺(tái)的接受程度是不一樣的,Android的開發(fā)者如果想集成廣告基本要考慮下面兩個(gè)問題2013-04-04Flutter中如何實(shí)現(xiàn)無Context跳轉(zhuǎn)詳解
這篇文章主要給大家介紹了關(guān)于Flutter中如何實(shí)現(xiàn)無Context跳轉(zhuǎn)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Flutter具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09