android程序设计中输入手机号,验证格式,并倒计时几秒后再次发送
来源:互联网 发布:矩阵的秩怎么算 编辑:程序博客网 时间:2024/05/17 21:47
activity程序
public class MainActivity extends Activity implements OnClickListener { EditText et_phonenum; Button btn_send; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); et_phonenum = (EditText) findViewById(R.id.et_phonenum); btn_send = (Button) findViewById(R.id.btn_send); btn_send.setOnClickListener(this); } @Override public void onClick(View v) { // 模拟发送短信 String phone = et_phonenum.getText().toString(); if (phone.matches("[1][3579][\\d]{9}")) { // 不能继续发 btn_send.setEnabled(false); MyCountDownTimer timer = new MyCountDownTimer(); // 开启 timer.start(); // 使用倒计时 // new Thread() { // public void run() { // try { // sleep(2000); // } catch (InterruptedException e) { // // TODO Auto-generated catch block // e.printStackTrace(); // } // // 1. 子线程不允许修改UI UI线程就是主线程 // // 2. 主线程不允许使用网络请求 // // 3. 在Activity中如果需要访问UI,可以使用 // runOnUiThread(new Runnable() { // // @Override // public void run() { // btn_send.setEnabled(true); // } // }); // }; // }.start(); }else { Toast.makeText(this, "手机号码格式错误", Toast.LENGTH_SHORT).show(); } } class MyCountDownTimer extends CountDownTimer { // 必须显示的调用父类的构造方法 public MyCountDownTimer() { // millisInFuture 倒计时的时间 毫秒 // countDownInterval间隔多少毫秒执行一次事件 super(10000, 1000); } @Override public void onTick(long millisUntilFinished) { // 每countDownInterval触发一次onTick事件 btn_send.setText("还剩" + millisUntilFinished / 1000 + "秒可以再次发送"); } @Override public void onFinish() { btn_send.setEnabled(true); btn_send.setText("发送"); } }}
xml程序
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.example.lesson4_daojishi.MainActivity" > <EditText android:id="@+id/et_phonenum" android:layout_width="match_parent" android:layout_height="wrap_content" android:digits="1234567890" android:hint="输入手机号" android:inputType="number" /> <Button android:id="@+id/btn_send" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="发送" /></LinearLayout>
注意:android中主线程和子线程的注意事项,倒计时的用法,
0 0
- android程序设计中输入手机号,验证格式,并倒计时几秒后再次发送
- Android发送验证码倒计时,时间倒计时
- Android发送验证码倒计时
- Android中注册、找回密码等发送验证码倒计时
- android 验证手机号和邮箱格式
- 安卓发送验证码倒计时效果和自动获取验证码并填充到输入框
- Android中验证输入是否为汉字及手机号,邮箱验证
- Android中验证输入是否为汉字及手机号,邮箱验证
- jquery 手机号验证码倒计时
- 手机号发送验证码
- 绑定手机号,并发送段信验证码
- android 发送验证码,显示倒计时
- Android发送验证码的倒计时按钮
- Android发送验证码倒计时自定义View
- Android笔记:发送验证码后倒计时
- Android 自定义发送验证码, 倒计时
- IOS 验证手机号格式
- iOS 手机号格式验证
- Moving Tables
- 383. Ransom Note
- 第三十六讲项目 用循环处理文字(血型统计,消除空格等)
- linux信号量简介(内核态)
- 写VS配置文件时遇到的一个操蛋问题
- android程序设计中输入手机号,验证格式,并倒计时几秒后再次发送
- 隐藏EditText输入下划线
- 欢迎使用CSDN-markdown编辑器
- 深度学习 VS 传统的机器学习
- Android 6.0新特性之WebView不能适配屏幕解决方案
- Python学习笔记 --- 'password' is an invalid keyword argument for this function解决办法
- QAQ的区间价值
- B. Passwords
- 基本格式