欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android獲取驗證碼倒計時實現(xiàn)代碼

 更新時間:2022年08月02日 11:25:13   作者:Swift社區(qū)  
這篇文章主要為大家詳細(xì)介紹了Android獲取驗證碼倒計時的實現(xiàn)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了Android獲取驗證碼倒計時的具體代碼,供大家參考,具體內(nèi)容如下

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>

效果如下:

2. 根據(jù)id設(shè)置Button點擊事件觸發(fā)倒計時

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);

    //設(shè)置Button點擊事件觸發(fā)倒計時
    timeButton.setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View view) {
        myCountDownTimer.start();
      }
    });
}

3. 倒計時函數(shù)

//倒計時函數(shù)
  private class MyCountDownTimer extends CountDownTimer {

    public MyCountDownTimer(long millisInFuture, long countDownInterval) {
      super(millisInFuture, countDownInterval);
    }

    //計時過程
    @Override
    public void onTick(long l) {
      //防止計時過程中重復(fù)點擊
      timeButton.setClickable(false);
      timeButton.setText(l/1000+"秒");

    }

    //計時完畢的方法
    @Override
    public void onFinish() {
      //重新給Button設(shè)置文字
      timeButton.setText("重新獲取");
      //設(shè)置可點擊
      timeButton.setClickable(true);
    }
  }

}

4. 清除倒計時函數(shù),解決驗證碼輸入正確后停止計時

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

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論