我想每10秒运行一次getVehicles()方法,我有以下代码:
Handler vehiclehandler = new Handler();
final Runnable vehiclerunnable = new Runnable() {
public void run() {
getVehicles(null);
vehiclehandler.postDelayed(this, 10000);
}
};
但目前它什么也没做,我已经四处寻找,无法弄明白。
我是Android的新手,以前从未使用过处理程序,只能通过runnable来告诉'runOnUiThread'。
答案 0 :(得分:1)
vehiclehandler.post(vehiclerunnable)
至少一次?
我的意思是在Runnable外面
答案 1 :(得分:0)
final Handler lHandler = new Handler();
Runnable lRunnable = new Runnable() {
@Override
public void run() {
// do stuff
lHandler.postDelayed(this, 10000);
}
};
lHandler.post(lRunnable);
答案 2 :(得分:0)
以下是对代码的调整,以使其正常运行
Handler vehiclehandler = new Handler();
vehiclehandler.postDelayed(new Runnable(){
public void run(){
getVehicles(null);
}
},10000);
但是这只会在执行之前延迟你的代码。如果你想一遍又一遍地重复这个过程,你必须使用Timer,如:
private static Timer timer = new Timer();
timer.scheduleAtFixedRate(new mainTask(), 0, 10000);
private class mainTask extends TimerTask
{
public void run()
{
getVehicles(null);
}
}