我有一个简单的问题,我怎么能停止计时器?
button bCancel = (button)findVIEwByID(R.ID.bt1); bCancel.setonClickListener(new VIEw.OnClickListener() { @OverrIDe public voID onClick(VIEw v) { // Todo auto-generated method stub finish(); startActivity(new Intent("com.jom.testcdt2.CANCELCLASS")); } }); final Thread logoTimer = new Thread(){ public voID run(){ try { int logoTimer = 0; while (logoTimer < 10000) { sleep(100); logoTimer = logoTimer + 100; } startActivity(new Intent("com.jom.testcdt2.CLEARSCREEN")); } catch (Exception e) { // Todo: handle exception e.printstacktrace(); } finally{ finish(); } } }; logoTimer.start(); }
当我按下按钮bCancel时,它会启动一个新活动,但是计时器仍在运行,10秒后它会启动CLEARSCREEN.点击我希望计时器停止.我怎样才能做到这一点?
解决方法:
我建议使用CountDownTimer:
final CountDownTimer myTimer = new CountDownTimer(10000, 5000) {@OverrIDepublic voID onFinish() { //DO SOMETHING AFTER 10 000 ms } @OverrIDe public voID onTick(long millisUntilFinished) { //DO SOMETHING EVERY 5 000 ms until stopped }}myTimer.start() //Starts itmyTimer.cancel() //Stops it
而不是写作
(new Intent("com.jom.testcdt2.CANCELCLASS")
你应该使用
(new Intent(YOURCLASS.this, CancelClass.class)
总结 以上是内存溢出为你收集整理的java – 如何停止计时器?全部内容,希望文章能够帮你解决java – 如何停止计时器?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)