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