Android中Handler實(shí)現(xiàn)倒計(jì)時(shí)的兩種方式
背景:
最近項(xiàng)目中,正好做到登錄/注冊(cè)這個(gè)功能塊。它需要通過(guò)發(fā)送驗(yàn)證碼,在規(guī)定的時(shí)間內(nèi)用驗(yàn)證碼來(lái)完成登錄/注冊(cè)。之前的項(xiàng)目中也有這個(gè)功能,但是覺(jué)得太復(fù)雜了,只好自己重新實(shí)現(xiàn)一遍。用Handler來(lái)做,覺(jué)得代碼簡(jiǎn)介,邏輯也清楚。
代碼一:
//在向服務(wù)端發(fā)送獲取驗(yàn)證碼成功的回調(diào)函數(shù)中,開(kāi)始發(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ù)中,開(kāi)始發(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的便利方法。
以上就是本文的全部?jī)?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)閃屏頁(yè)和右上角的倒計(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設(shè)置adb自帶screenrecord錄屏命令
這篇文章主要介紹了android設(shè)置adb自帶screenrecord錄屏命令,需要的朋友可以參考下2018-11-11
Android ROM升級(jí)包的選項(xiàng)解釋
本文主要解釋 Android刷機(jī)過(guò)程中會(huì)遇到apply sdcard:update.zip(刷ROM升級(jí)包)的選項(xiàng),對(duì)選項(xiàng)解釋,以免造成沒(méi)必要的麻煩,希望對(duì)大家有用!2016-07-07
基于Android中實(shí)現(xiàn)定時(shí)器的3種解決方法
2013-05-05
android編程開(kāi)發(fā)之全屏和退出全屏的實(shí)現(xiàn)方法
這篇文章主要介紹了android編程開(kāi)發(fā)之全屏和退出全屏的實(shí)現(xiàn)方法,以實(shí)例形式較為詳細(xì)的分析了Android全屏及退出全屏的頁(yè)面布局與功能實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-11-11
android使用RxJava實(shí)現(xiàn)預(yù)加載
這篇文章主要為大家詳細(xì)介紹了android使用RxJava實(shí)現(xiàn)預(yù)加載的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-01-01
Android 監(jiān)聽(tīng)網(wǎng)絡(luò)狀態(tài)方法詳解
這篇文章主要介紹了Android 監(jiān)聽(tīng)網(wǎng)絡(luò)狀態(tài)方法詳解的相關(guān)資料,需要的朋友可以參考下2017-07-07

