Android 編程下的計時器代碼
同樣,為了防止用戶惡意的頻繁發(fā)送激活碼,應(yīng)用中需要對用戶發(fā)送激活碼的時間間隔進行限制,這時就需要用到倒計時器了,大概流程是這樣的:頁面初始化的時候,按鈕為可點擊狀態(tài),用戶在點擊“發(fā)送激活碼”后按鈕變?yōu)椴豢牲c擊狀態(tài),同時按鈕上的文字變?yōu)榈褂嫊r狀態(tài),倒計時結(jié)束后,按鈕變?yōu)榭牲c擊狀態(tài),文字變?yōu)椤鞍l(fā)送激活碼”。具體邏輯看下面的代碼:
package cn.sunzn.countdown;
import android.app.Activity;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity implements OnClickListener {
private TimeCount timeCount;
private Button btn_reget_captcha;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
init();
}
private void init() {
initView();
initData();
}
private void initData() {
timeCount = new TimeCount(60000, 1000);
}
private void initView() {
btn_reget_captcha = (Button) findViewById(R.id.btn_reget_captcha);
btn_reget_captcha.setOnClickListener(this);
}
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
public void onClick(View v) {
int id = v.getId();
switch (id) {
case R.id.btn_reget_captcha:
if (btn_reget_captcha.isClickable()) {
// TODO run your logic that you want to do
timeCount.start();
}
break;
default:
break;
}
}
class TimeCount extends CountDownTimer {
public TimeCount(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
}
public void onFinish() {
btn_reget_captcha.setText("發(fā)送激活碼");
btn_reget_captcha.setClickable(true);
}
public void onTick(long millisUntilFinished) {
btn_reget_captcha.setClickable(false);
btn_reget_captcha.setText("在" + millisUntilFinished / 1000 + "秒后點擊重發(fā)激活碼");
}
}
}
最后,附上工程代碼:CountDown
- android之計時器(Chronometer)的使用以及常用的方法
- Android時分秒計時器的兩種實現(xiàn)方法
- android計時器,時間計算器的實現(xiàn)方法
- android開發(fā)教程之間隔執(zhí)行程序(android計時器)
- Android實現(xiàn)的秒表計時器示例
- Android計時器的三種實現(xiàn)方式(Chronometer、Timer、handler)
- Android編程之簡單計時器實現(xiàn)方法
- Android開發(fā)實現(xiàn)的計時器功能示例
- Android中CountDownTimer倒計時器用法實例
- Android實現(xiàn)計時器功能
相關(guān)文章
Android 運用@JvmName解決函數(shù)簽名沖突問題詳解
JvmName注解是Kotlin提供的一個可以變更編譯器輸出的注解,這里簡單的介紹一下其使用規(guī)則,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步2022-07-07使用Timer實現(xiàn)網(wǎng)頁勻速加載的進度條樣式
這篇文章主要介紹了使用Timer實現(xiàn)網(wǎng)頁勻速加載的進度條樣式,在使用WebView加載網(wǎng)頁時有時候網(wǎng)速等原因加載比較慢時,影響用戶的體驗度,今天小編給大家分享使用timer實現(xiàn)網(wǎng)頁勻速加載的進度條樣式,需要的的朋友參考下吧2017-01-01Android點擊Button實現(xiàn)功能的幾種方法總結(jié)
當Button有多個或者Button的使用次數(shù)很多時,我們需要采用綁定監(jiān)聽器的做法,其實,綁定監(jiān)聽器也有幾種方法,不過,我在這里就不一一列舉了,畢竟那些方法在實際的應(yīng)用中也不常見2013-10-10