0

TimerTask eackからリスナーを使用して非同期タスクを1.5秒呼び出す必要があります。これを実行しようとすると、例外「java.lang.RuntimeException:Looper.prepare(を呼び出さないスレッド内にハンドラーを作成できません」が発生します。 )。」。この問題の解決にご協力ください。

以下は私が使用するコードです。

     Timer t = new Timer();     
 TimerTask scanTask = new TimerTask()
 {
    @Override
    public void run()
        {
        new BgTask((BgTaskListener)this).execute("","currentState");
    }

};

t.schedule(scanTask, 1500, 1500);

ここで、BgTaskはAsyncTaskクラスを識別します。

4

1 に答える 1

1

アクティビティのコンテキストにいる場合、これは機能する必要があります

    runOnUiThread(new Runnable()
    {           
        @Override
        public void run()
        {
            new BgTask((BgTaskListener)this).execute("","currentState");
        }
    });
于 2011-05-06T12:02:56.487 に答える