0

getVehicles()メソッドを10秒ごとに実行したいのですが、次のコードがあります。

Handler vehiclehandler = new Handler();
    final Runnable vehiclerunnable = new Runnable() {   
        public void run() {
            getVehicles(null);
            vehiclehandler.postDelayed(this, 10000);
        } 
    };

しかし、現時点では何もしません。私は周りを検索しましたが、理解できません。

私はAndroidを初めて使用し、これまでハンドラーを使用したことはありません。「runOnUiThread」に何かを伝えるために実行可能なものだけです。

4

3 に答える 3

1

走りましたか

vehiclehandler.post(vehiclerunnable)

少なくとも一度は?

ランナブルの外を意味します

于 2012-11-28T13:54:49.403 に答える
0
final Handler lHandler = new Handler();
Runnable lRunnable = new Runnable() {

    @Override
    public void run() {
        // do stuff
        lHandler.postDelayed(this, 10000);
    }
};
lHandler.post(lRunnable);
于 2012-11-28T14:18:17.277 に答える
0

これが正しく実行されるようにコードを調整したものです

Handler vehiclehandler = new Handler();
    vehiclehandler.postDelayed(new Runnable(){
            public void run(){
                    getVehicles(null);
            }
        },10000);

しかし、これは実行される前にコードを遅らせるだけです。このプロセスを何度も繰り返したい場合は、次のようなタイマーを使用する必要があります。

private static Timer timer = new Timer();  
timer.scheduleAtFixedRate(new mainTask(), 0, 10000);
private class mainTask extends TimerTask
    { 
        public void run() 
        {
            getVehicles(null);
        }
    }    
于 2012-11-28T15:45:23.670 に答える