急!点击一按钮后,要隔1分钟才能再次操作一次,求算法实例 不是有timer吗,点击后,enable=false,开始计时,到点enable=true 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 同意楼上,计时器控制你的boolean标志位,简单粗暴有效 //这是倒计时线程,每隔1秒会通知一次UI线程更新private class TimerTask extends AsyncTask<String, String, String> { @Override protected void onPreExecute() { super.onPreExecute(); mVCodeBtn.setBackgroundResource(R.color.text_gray); mVCodeBtn.setClickable(false); } @Override protected String doInBackground(String... params) { for (int i = 60; i >= 0; i--) { onProgressUpdate(String.valueOf(i)); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } return null; } @Override protected void onProgressUpdate(String... values) { Message msg = new Message(); msg.what = Integer.valueOf(values[0]); handler.sendMessage(msg); super.onProgressUpdate(values); } }// 下面是UI线程收到消息后更新,当为0时倒计时结束,会重新打开按钮点击private Handler handler = new Handler() { @Override public void handleMessage(Message msg) { if (msg.what == 0) { mVCodeBtn.setBackgroundResource(R.color.patient_theme); mVCodeBtn.setClickable(true); mVCodeBtn.setText(R.string.btn_verification_code); } else { mVCodeBtn.setText("重新获取 " + msg.what); } } }; 话说你这里还写个handler干吗?直接在onprogressupdate里面更新不就行了? android 底部菜单 求解 如何去掉:退出程序后默认回到登录界面,但“usernameTxt”框依然显示刚登录过的用户名 android:全局变量使用问题 如何往android添加自定义模块 程序完成后,真机测试遇到的问题,如下: 急求docs那个文件夹,网速不给力,装不起,发的给全分 Android 手机游戏开发 关于jni的OOM问题 自定义布局报空指针 在嵌套的fragment里listview怎么没有值啊。。 JSP页面显示不了图片 android @ 别人 怎么写
private class TimerTask extends AsyncTask<String, String, String> { @Override
protected void onPreExecute() {
super.onPreExecute();
mVCodeBtn.setBackgroundResource(R.color.text_gray);
mVCodeBtn.setClickable(false);
} @Override
protected String doInBackground(String... params) {
for (int i = 60; i >= 0; i--) {
onProgressUpdate(String.valueOf(i));
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
} return null;
} @Override
protected void onProgressUpdate(String... values) {
Message msg = new Message();
msg.what = Integer.valueOf(values[0]);
handler.sendMessage(msg);
super.onProgressUpdate(values);
} }
// 下面是UI线程收到消息后更新,当为0时倒计时结束,会重新打开按钮点击
private Handler handler = new Handler() { @Override
public void handleMessage(Message msg) {
if (msg.what == 0) {
mVCodeBtn.setBackgroundResource(R.color.patient_theme);
mVCodeBtn.setClickable(true);
mVCodeBtn.setText(R.string.btn_verification_code);
} else {
mVCodeBtn.setText("重新获取 " + msg.what);
} } };