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

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

热度:6   发布时间:2016-04-28 03:13:33.0
一个android Timer,为什么只执行了一次
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。