java.lang.IllegalStateException: TimerTask is scheduled already
来源:互联网 发布:软件项目可行性分析 编辑:程序博客网 时间:2024/06/04 01:16
使用定时器做viewPager轮播图时,遇到了这样的错误:java.lang.IllegalStateException: TimerTask is scheduled already,在网上查了一圈资料发现:
一个TimerTask 通过schedule方法使用之后,不能通过schedule方法调用第二次,想重复使用是不行的,是一次性用品。
当你重新想利用这个timertask时,那么你只能重新获得一个实例,最好是写成类:
class MyTask extends TimerTask{@Overridepublic void run(){// TODO Auto-generated method stub//do something}};
那么当你想再使用这个TimerTask时,你可以这么做:
task= new MyTask();timer.schedule(task, 1000);每一次使用的时候
timer= new Timer();当然你也可以让这个timer一直存在
那么在重新new task之前,最好调用task.cancel();具体实例:public void initGallery() {
//每隔5秒自动播放 Timer timer = new Timer(); if(myTask != null){ myTask.cancel(); } myTask = new MyTimeTask(); timer.schedule(myTask,5000,5000);}/** * 定时器,实现自动播放 */private MyTimeTask myTask;class MyTimeTask extends TimerTask{ @Override public void run() { Message message = new Message(); message.what = 3; index = myViewPager.getCurrentItem(); index++; handler.sendMessage(message); }}handler中//轮播图case 3: myViewPager.setCurrentItem(index); break;另外,对于这种只使用一次的timer,可以在使用完成之后停止它,新建一个timer意味着新建一个线程,不用了就销毁吧。
timer.cancel();timer.purge();timer= null;0 0
- java.lang.IllegalStateException: TimerTask is scheduled already
- java.lang.IllegalStateException: TimerTask is scheduled already问题分析
- android TimerTask 的简单应用,以及java.lang.IllegalStateException: TimerTask is scheduled already错误的解决方法
- android TimerTask 的简单应用,以及java.lang.IllegalStateException: TimerTask is scheduled already错误的解决方法
- android TimerTask 的简单应用,以及java.lang.IllegalStateException: TimerTask is scheduled already错误的解决方法
- IllegalStateException: TimerTask is scheduled already
- 错误 java.lang.IllegalStateException: TimerTask is scheduled already错误的解决方法
- 关于Timer计时器控件的java.lang.IllegalStateException: TimerTask is scheduled already问题分析
- TimerTask is scheduled already
- TimerTask is scheduled already 异常
- TimerTask is scheduled already 异常
- TimerTask is scheduled already 解决方法
- 关于错误:TimerTask is scheduled already
- About error:TimerTask is scheduled already
- 关于错误:TimerTask is scheduled already
- 关于错误:TimerTask is scheduled already
- nested exception is java.lang.IllegalStateException: Encountered invalid @Scheduled method
- TimerTask 出现IllegalStateException:Task already scheduled or cancelled.
- android6.0运行时权限回调没执行
- UIViewController详解
- cast()和convert()转换函数
- python小函数(一)
- C#中Trim,TrimStart,TrimEnd用法
- java.lang.IllegalStateException: TimerTask is scheduled already
- DTCMS网站开发遇到的一些问题
- 压缩代码和资源
- [leetcode]14. Longest Common Prefix
- 笔记-分布式系统
- 缓存技术
- MyISAM InnoDB 区别?
- The number of method references in xxx.dex file cannot exceed 64K问题
- Java 多线程——— 线程间的通信(wait及notify方法)