首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

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

2012-09-09 
一个android Timer,为什么只执行了一次Java codepublic void getPaisong() {final Handler handler new

一个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。

热点排行