背景:
最近項目中,正好做到登錄/注冊這個功能塊。它需要通過發(fā)送驗證碼,在規(guī)定的時間內用驗證碼來完成登錄/注冊。之前的項目中也有這個功能,但是覺得太復雜了,只好自己重新實現(xiàn)一遍。用Handler來做,覺得代碼簡介,邏輯也清楚。
代碼一:
//在向服務端發(fā)送獲取驗證碼成功的回調函數(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("倒計時:"+limitTime+"s"); }else{ mBtnVerify.setText("獲取驗證碼"); } return true; } return false; } });