文章插图
timer.cancel()之后TimerTask 和Timer 再次初始化就可以了private Timer timer; private TimerTask Runtask;Handler handler = new Handler() {@Overridepublic void handleMessage(Message msg) {// TODO Auto-generated method stub// 要做的事情if (m_Auto) {task = new IDCardTask();task.execute();} else {if (timer != null) {timer.cancel();timer = null;bt_AutoReadidcard.setText("自动读卡");}}super.handleMessage(msg);}}; bt_AutoReadidcard.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {if (m_Auto) {m_Auto = false;} else {m_Auto = true;timer = new Timer();Runtask = new TimerTask() {@Overridepublic void run() {// TODO Auto-generated method stubMessage message = new Message();message.what = 1;handler.sendMessage(message);}};timer.schedule(Runtask, 1000, 4000);bt_AutoReadidcard.setText("停止读卡");}}});
【关于Timer的问题.Timer cancel后再重新new一个,还是会抛出异常】
推荐阅读
- 古诗秋夕的译文是啥 古诗秋夕的译文是什么
- 青椰子和老椰子的区别 青椰子和老椰子的区别介绍
- 益阳有些什么美食?
- 蕃怎么读 蕃的释义
- 倒八头的字 倒八头的字有哪些
- 小红帽故事简介 小红帽故事是怎样的
- 篮球什么材质的好 大家可以看看
- 嫦娥是什么节日 嫦娥是哪个节日的人物
- 一蹦一跳的解释 一蹦一跳什么意思
- 高考给自己的一句话 高三冲刺高考励志的句子