当前位置: 代码迷 >> Android >> 一个android Timer,为何只执行了一次
  详细解决方案

一个android Timer,为何只执行了一次

热度:33   发布时间:2016-05-01 15:10:32.0
一个android Timer,为什么只执行了一次
Java code
public void getPaisong() {        final Handler handler = new Handler() {            public void handleMessage(Message msg) {                switch (msg.what) {                case 1: {                    // 初始化搜索模块,注册事件监听                    mSearch = new MKSearch();                    mSearch.init(app.mBMapMan, new MyMKSearchListener());                    jiexi();                    cou++;                    Toast.makeText(                            BMapApiDemoApp.mDemoApp.getApplicationContext(),                            "执行了"+cou+"一次!", Toast.LENGTH_LONG).show();                    }                    break;                }                super.handleMessage(msg);            }        };        TimerTask task = new TimerTask() {            public void run() {                Message message = new Message();                message.what = 1;                handler.sendMessage(message);            }        };        timer = new Timer(true);        timer.schedule(task, 5000); // 延时1000ms后执行,1000ms执行一次        // timer.cancel(); //退出计时器    }

我在oncreate方法里直接调用了getPaisong()方法,可是只显示cou=1

------解决方案--------------------
呵,开始接触这个类的时候我也迷茫了一把
------解决方案--------------------
要重复的话,就用repeate
------解决方案--------------------
timer.schedule(task, 5000); 两个参数的schedule 就只是执行一次吧。
要用三个参数的schedule。