Android 实现一个验证码倒计时(Handler postDelayed 实现验证码倒计时)
生活随笔
收集整理的這篇文章主要介紹了
Android 实现一个验证码倒计时(Handler postDelayed 实现验证码倒计时)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?直接看代碼吧,很簡單
public class MainActivity extends AppCompatActivity {private TextView code;private Handler handler;int codeLen = 61;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);code = findViewById(R.id.rx_txt);handler = new Handler();code.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {handler.postDelayed(new Runnable() {@Overridepublic void run() {if (codeLen > 0) {codeLen--;code.setClickable(false);code.setText(codeLen + "s");handler.postDelayed(this, 1000);} else if (codeLen == 0) {code.setText("重新獲取");code.setClickable(true);handler.removeCallbacks(this);codeLen = 61;}}}, 1000);}});}@Overrideprotected void onDestroy() {super.onDestroy();if (handler !=null){handler.removeCallbacksAndMessages(null);handler = null;}}
}
?
同樣也可以換一種寫法,如下
public class MainActivity extends AppCompatActivity {private TextView code;private Handler handler;int codeLen = 61;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);code = findViewById(R.id.rx_txt);handler = new Handler();code.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {handler.postDelayed(time, 1000);}});}Runnable time = new Runnable() {@Overridepublic void run() {if (codeLen > 0) {codeLen--;code.setClickable(false);code.setText(codeLen + "s");handler.postDelayed(this, 1000);} else if (codeLen == 0) {code.setText("重新獲取");code.setClickable(true);handler.removeCallbacks(this);codeLen = 61;}}};@Overrideprotected void onDestroy() {super.onDestroy();if (handler != null) {handler.removeCallbacksAndMessages(null);handler = null;}if (time != null) {time = null;}}
}
?
總結
以上是生活随笔為你收集整理的Android 实现一个验证码倒计时(Handler postDelayed 实现验证码倒计时)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微信网名男人有品味的
- 下一篇: 经常掉头发是怎么回事儿??