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 CountDownTimer实现定时器和倒计时效果
  2. Android 定时器大全
  3. Android 计时器的实现
  4. Android Timer计时器简单写法

随机推荐

  1. Android 热点开关状态的判断和获取热点ss
  2. Android平台上优秀的开源项目
  3. Android之菜单总结
  4. android ndk编译x264开源(用于android的f
  5. [RK3399][Android7.1.1] WifiAp:开机默认
  6. 在Fragment中设置控件点击方法,执行失败。
  7. use ffmpeg to setup streaming server o
  8. Android系统启动流程(一)解析init进程启动
  9. Handler.post(action)方法
  10. [Android NDK]Android JNI开发例子 ---3