Android定时器Timer的停止和重启实现代码-创新互联

本文介绍了Android定时器Timer的停止和重启实现代码,分享给大家,具体如下:

创新互联建站主营青山网站建设的网络公司,主营网站建设方案,APP应用开发,青山h5小程序制作搭建,青山网站营销推广欢迎青山等地区企业咨询

7月份做了一个项目,利用自定义控件呈现一幅动画,当时使用定时器来控制时间,但是当停止开启时总是出现问题。一直在寻找合理的方法解决这个问题,一直没有找到,最近终于找到了合理的方法来解决这个问题。


大家如何查询有关资料,一定知道timer,timertask取消的方式是采用Timer.cancel()和mTimerTask.cancel(),可是大家发现这种发式取消后,再次开始timer时,会报错

 FATAL EXCEPTION: main
         Process: com.example.zhongzhi.gate_control_scheme, PID: 2472
         java.lang.IllegalStateException: Timer already cancelled.
           at java.util.Timer.sched(Timer.java:397)
           at java.util.Timer.schedule(Timer.java:248)
           at com.example.zhongzhi.gate_control_scheme.MainActivity.onClick(MainActivity.java:401)
           at android.view.View.performClick(View.java:5637)
           at android.view.View$PerformClick.run(View.java:22429)
           at android.os.Handler.handleCallback(Handler.java:751)
           at android.os.Handler.dispatchMessage(Handler.java:95)
           at android.os.Looper.loop(Looper.java:154)
           at android.app.ActivityThread.main(ActivityThread.java:6119)
           at java.lang.reflect.Method.invoke(Native Method)
           at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
           at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)

分享题目:Android定时器Timer的停止和重启实现代码-创新互联
转载来源:http://scyanting.com/article/hohed.html