【发布时间】:2010-03-13 02:14:11
【问题描述】:
所以我有一个TimerTask task 在其run() 中调用一个函数onTimerComplete()
onTimerComplete() 看起来像这样:
private void onTimerComplete(){
myFunc1();
myFunc2();
}
我创建了一个Timer t 并安排了TimerTask 和t.schedule(task, 2000);
问题是,当计时器到时并且任务运行我的onTimerComplete() 但该功能没有完成。它运行myFunc1(),但从未完成,也从未调用myFunc2()
但是,如果我直接致电onTimerComplete(),一切正常。
这是怎么回事?
【问题讨论】:
-
我解决了这个问题!问题是我试图从与 UI 线程不同的线程更新 UI 元素,我不知道这是一个禁忌。因此,我没有使用
Timer,而是创建了一个扩展AsyncTask的类,并让它与计时器做同样的事情。现在使用扩展的AsyncTask一切正常!
标签: java android android-asynctask