首页 > 系统 > Android > 正文

Android获取验证码倒计时实现代码

2019-10-21 21:47:38
字体:
来源:转载
供稿:网友

本文实例为大家分享了Android获取验证码倒计时的具体代码,供大家参考,具体内容如下

1. 验证码输入框和获取验证码按钮布局

xml代码:

<LinearLayout    android:layout_width="match_parent"   android:layout_height="50dp"   android:background="@color/white"   android:orientation="horizontal" >   <EditText     android:id="@+id/phonetext"     android:layout_width="0dp"     android:layout_height="match_parent"     android:layout_weight="1"     android:layout_marginLeft="15dp"     android:layout_gravity="center_vertical"     android:inputType="number"     android:hint="请输入短信验证码"     android:background="@null"/>   <Button     android:id="@+id/timebutton"     android:layout_width="wrap_content"     android:layout_height="30dp"     android:layout_marginRight="15dp"     android:layout_marginTop="10dp"     android:textSize="16dp"     android:background="@drawable/tv_timemessage_bg"     android:text="获取"    /></LinearLayout>

效果如下:

Android,验证码,倒计时,代码

2. 根据id设置Button点击事件触发倒计时

JAVA代码:

/** * Created by fby on 2017/9/11. */public class ChargepsdActivity extends Activity {  private Button timeButton;  @Override  protected void onCreate(@Nullable Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_chargepsd);    timeButton = (Button) findViewById(R.id.timebutton);    //new倒计时对象,总共的时间,每隔多少秒更新一次时间    final MyCountDownTimer myCountDownTimer = new MyCountDownTimer(60000,1000);    //设置Button点击事件触发倒计时    timeButton.setOnClickListener(new View.OnClickListener() {      @Override      public void onClick(View view) {        myCountDownTimer.start();      }    });}

3. 倒计时函数

//倒计时函数  private class MyCountDownTimer extends CountDownTimer {    public MyCountDownTimer(long millisInFuture, long countDownInterval) {      super(millisInFuture, countDownInterval);    }    //计时过程    @Override    public void onTick(long l) {      //防止计时过程中重复点击      timeButton.setClickable(false);      timeButton.setText(l/1000+"秒");    }    //计时完毕的方法    @Override    public void onFinish() {      //重新给Button设置文字      timeButton.setText("重新获取");      //设置可点击      timeButton.setClickable(true);    }  }}

4. 清除倒计时函数,解决验证码输入正确后停止计时

private void clearTimer() {    if (task != null) {      task.cancel();      task = null;    }    if (timer != null) {      timer.cancel();      timer = null;    }  }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持VEVB武林网。


注:相关教程知识阅读请移步到Android开发频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表