Android计时器问题
计时器每过一秒钟加一,点击用的是ontouch方法privatevoidsetTimerTask(){timer.schedule(newTimerTask(){publ...
计时器每过一秒钟加一,点击用的是ontouch方法
private void setTimerTask()
{
timer.schedule(new TimerTask()
{
public void run()
{
miss++;
}
}, 0, 1000);
}
public boolean onTouch(View arg0, MotionEvent arg1)
{
if(flag){
flag = false;
setTimerTask(); //计时器加一
SimpleDateFormat b = new SimpleDateFormat("HH:mm:ss");
Date currentTime = new Date();
String s2 = b.format(currentTime);
cantime1.setStatus(s2);//显示当前时间
}else{
flag = true;
}
return flag;
}
原本我想点击开始计时,再次点击停止计时,但是现在总是点击了之后原来的线程(算是线程吧o(╯□╰)o)还在运行,点击之后每秒加2,3,4更多了,我应该怎么改才能有效果。 展开
private void setTimerTask()
{
timer.schedule(new TimerTask()
{
public void run()
{
miss++;
}
}, 0, 1000);
}
public boolean onTouch(View arg0, MotionEvent arg1)
{
if(flag){
flag = false;
setTimerTask(); //计时器加一
SimpleDateFormat b = new SimpleDateFormat("HH:mm:ss");
Date currentTime = new Date();
String s2 = b.format(currentTime);
cantime1.setStatus(s2);//显示当前时间
}else{
flag = true;
}
return flag;
}
原本我想点击开始计时,再次点击停止计时,但是现在总是点击了之后原来的线程(算是线程吧o(╯□╰)o)还在运行,点击之后每秒加2,3,4更多了,我应该怎么改才能有效果。 展开
展开全部
public boolean onTouch(View arg0, MotionEvent arg1)
{
if(flag){
flag = false;
timer,cancel();
SimpleDateFormat b = new SimpleDateFormat("HH:mm:ss");
Date currentTime = new Date();
String s2 = b.format(currentTime);
cantime1.setStatus(s2);//显示当前时间
}else{
flag = true;
}
return flag;
}
好像不对,总之你要暂停的时旁野候就运山喊用timer.cancel();只要miss在就能记住之前的状态了,唯模计时器再开的时候再setTimerTask
{
if(flag){
flag = false;
timer,cancel();
SimpleDateFormat b = new SimpleDateFormat("HH:mm:ss");
Date currentTime = new Date();
String s2 = b.format(currentTime);
cantime1.setStatus(s2);//显示当前时间
}else{
flag = true;
}
return flag;
}
好像不对,总之你要暂停的时旁野候就运山喊用timer.cancel();只要miss在就能记住之前的状态了,唯模计时器再开的时候再setTimerTask
更多追问追答
追问
setTimeTask的方法是我自己写的,还有转换成时分秒计时器的代码没有贴上来,能不能把setTimetask这个方法给终止了。现在的问题是点击次数越多,每秒加的秒速就越大
追答
timer.cancel();不能终止吗
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询