‘壹’ android中怎样设置倒计时
你好,
首先需要在输入框中输入一个秒数,比如:12,然后获取输入框中的值,显示在一个TextView中;点击“开始倒计时”按钮,每隔一秒钟,秒数减1,然后显示在TextView中;点击“停止倒计时”按钮,计时器停止运行,当再次点击“开始倒计时”按钮,计时器继续运行。
‘贰’ android 从第一个页面跳转到第二个页面之后 在第二个页面的按钮上开始一个倒计时 要怎么实现
可以使用Handler来做
比如下面的代码片段,开始一个30秒的倒计时
在Application.onCreate()里TestMain.getInstance().setContext(this);
或则在你的第二个页面onCreate()里TestMain.getInstance().setContext(this);
之后启动倒计时并刷新页面
TestMain.getInstance().startCountdownTask(new CountdownTask("taskid1", 30));
java">publicclassTestMain{
//用于保存倒计时任务已经完成的计数
;
;
=newTestMain();
privateTestMain(){}
(){
returnINSTANCE;
}
//在主线程里调用,比如Application.onCreate()中TestMain.getInstance().setContext(this);
publicvoidsetContext(Contextcontext){
mCountdownPrefs=context.getSharedPreferences("countdwon",Context.MODE_PRIVATE);
mCountdownHandler=newHandler();
}
//在需要倒计时任务的时候调用
publicvoidstartCountdownTask(){
//如果有未完成的倒计时任务,读取上次倒计时到几了,否则就是设置的count次
intcount=mCountdownPrefs.getInt(countdownTask.taskId,countdownTask.count);
countdownTask.count=count;
//首先执行一次
countdownTask.notify(countdownTask.count);
//之后每一秒执行一次
mCountdownHandler.postDelayed(newRunnable(){
@Override
publicvoidrun(){
//1秒执行一次
if(countdownTask.countDown()){
mCountdownHandler.postDelayed(this,1000);
}else{
//倒计时结束
mCountdownHandler.removeCallbacks(this);
//移除任务
mCountdownPrefs.edit().remove((countdownTask.taskId)).commit();
}
}
},1000);
}
{
/**倒计时起始值*/
privateintcount=30;
/**倒计时任务id*/
privateStringtaskId="";
publicCountdownTask(intcount,StringtaskId){
this.count=count;
this.taskId=taskId;
}
privatebooleancountDown(){
count--;
booleanisContinue=count>=0;
notify(Math.max(count,0));
returnisContinue;
}
//通知更新
publicvoidnotify(intcurrent){
//UI更新倒计时数字,current是当前倒计时到多少了
}
}
}
‘叁’ android studio怎么做倒计时钟
在代码左侧的灰色条上点一下,整行代码变红了就是设置上断点了 点绿三角右边带刺的e才是调试模式,绿三角只是运行不能调试
‘肆’ android 怎么在button上添加倒计时
最简单的两种方法吧
开启一个定时器 (timer 、 countDownTimer) 然后每隔1s 通过handler 让button 里面的文字改变一下 就是倒计时了
基本跟第一个相同。自定义一个类 继承button 然后 里面写定时器 settext()
‘伍’ android 用 service 和 CountDownTimer 实现一个倒计时器的功能
在平时我们编程的时候,经常会用到倒计时这个功能,很多人不知道Android已经帮封装好了一个类,往往都自己写。现在发现了这个类,大家共享一下:
在一个TextView不断显示剩下的时间,代码如下:
[java] view plain
private TextView vertifyView;
private CountDownTimer timer = new CountDownTimer(10000, 1000) {
@Override
public void onTick(long millisUntilFinished) {
vertifyView.setText((millisUntilFinished / 1000) + "秒后可重发");
}
@Override
public void onFinish() {
vertifyView.setEnabled(true);
vertifyView.setText("获取验证码");
}
};
调用的时候很简单:timer.start();
最后说明一下:CountDownTimer timer = new CountDownTimer(10000, 1000)中,第一个参数表示总时间,第二个参数表示间隔时间。意思就是每隔一秒会回调一次方法onTick,然后10秒之后会回调onFinish方法。