一个android Timer,为什么只执行了一次
4个回答
展开全部
一个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,具体解决方案如下:
解决方案1:
好吧 原来是
timer.schedule(task,1000,,5000); // 延时1000ms后执行,1000ms执行一次
解决方案2:
呵,开始接触这个类的时候我也迷茫了一把
解决方案3:
要重复的话,就用repeate
解决方案4:
timer.schedule(task, 5000); 两个参数的schedule 就只是执行一次吧。
要用三个参数的schedule。
解决方案5:
我去,我也遇到这个问题。。。
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,具体解决方案如下:
解决方案1:
好吧 原来是
timer.schedule(task,1000,,5000); // 延时1000ms后执行,1000ms执行一次
解决方案2:
呵,开始接触这个类的时候我也迷茫了一把
解决方案3:
要重复的话,就用repeate
解决方案4:
timer.schedule(task, 5000); 两个参数的schedule 就只是执行一次吧。
要用三个参数的schedule。
解决方案5:
我去,我也遇到这个问题。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
//delay 为long类型:从现在起过delay毫秒执行一次。
timer.schedule(task, delay);
//delay为long,period为long:从现在起过delay毫秒以后,每隔period毫秒执行一次。
timer.schedule(task, delay,period);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询