阅读更多
private Handler handler  = new Handler(){    public void handleMessage(Message msg) {        super.handleMessage(msg);           //满足条件要执行的内容        if(msg.what == 1&&msg.arg1 == 0){            //        Log.v(TAG, "计时器");    if(todoNum != 0){    todoDocNumTV.setVisibility(View.VISIBLE);    todoDocNumTV.setText(todoNum+"");    isRefresh = 1;    }        }    }};  private Timer timer = new Timer(true); //任务private TimerTask task = new TimerTask() {  public void run() {    Message msg = new Message();    msg.what = 1;    msg.arg1 = isRefresh;    handler.sendMessage(msg);  }};

启动计时器
//启动定时器timer.schedule(task, 0, 1*1000);


当我想停止计时器再重启是遇到一个问题,报错ava.lang.IllegalStateException: TimerTask is scheduled already
发现每根TimerTask只能执行一次schedule
所以只能在重启之前清空之前的任务并重新赋值,然后再启动
if(task != null){task.cancel(); //将原任务从队列中移除}task = new TimerTask() {  public void run() {    Message msg = new Message();    msg.what = 1;    msg.arg1 = 0;    handler.sendMessage(msg);  }};//启动定时器timer.schedule(task, 0, 1*1000);

更多相关文章

  1. Android(安卓)Wifi模块分析(三)
  2. Android(安卓)Activity的启动
  3. Android(安卓)任务和回退堆栈---启动任务
  4. Android——Activity四种启动模式
  5. 修复Android(安卓)App在开机后入口类被启动两次的bug
  6. android 命令(adb shell)进入指定模拟器或设备
  7. Android(安卓)开机自启动程序
  8. Android(安卓)ASE 脚本环境
  9. 你真的了解你手机的状态栏吗?

随机推荐

  1. Android(安卓)APK 签名机制
  2. Android上HDMI介绍(基于高通平台)-- Overla
  3. Android(安卓)Studio VS Eclipse (还在用E
  4. Android(安卓)AIDL实例解析
  5. [置顶] Android开发-分析ViewGroup、View
  6. Android(安卓)WebView和JS交互详细教程
  7. android开发之多线程实现方法概述
  8. FFmpeg 1.2 for Android(安卓)生成一个动
  9. Android(安卓)-- SurfaceFlinger 概要分
  10. Android之仿小米便签程序