时间:2021-05-21
同样,为了防止用户恶意的频繁发送激活码,应用中需要对用户发送激活码的时间间隔进行限制,这时就需要用到倒计时器了,大概流程是这样的:页面初始化的时候,按钮为可点击状态,用户在点击“发送激活码”后按钮变为不可点击状态,同时按钮上的文字变为倒计时状态,倒计时结束后,按钮变为可点击状态,文字变为“发送激活码”。具体逻辑看下面的代码:
复制代码 代码如下:
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("发送激活码");
btn_reget_captcha.setClickable(true);
}
public void onTick(long millisUntilFinished) {
btn_reget_captcha.setClickable(false);
btn_reget_captcha.setText("在" + millisUntilFinished / 1000 + "秒后点击重发激活码");
}
}
}
最后,附上工程代码:CountDown
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文为大家演示了如何使用Chronometer控件实现Android计时器的实例。先贴上最终的实现效果图:Android计时器实现思路使用Chronometer
在Android中,可以使用计时器来实现对时间的监测,这个类所实现的功能有开始计时,停止计时,重新计时,设置计时模式,下面列出计时器方法的原型:longgetB
计时器基本格式:复制代码代码如下:setInterval(function(){代码},1000);/*说明:1.setInterval会返回一个计时器ID值可
javascript秒表计时器实例代码:js计时器varoTxt=document.getElementsByTagName("input")[0];varoS
Scratch如何使用计时器功能?今天我们就来看看使用Scratch计时器功能实现计时效果的教程。软件名称:scratch3.0离线版(儿童编程软件)Offli