【发布时间】:2012-05-09 15:40:39
【问题描述】:
我有一个计时器,我想在倒计时完成后启动 AsyncTask。如果我将它的执行放在一个处理程序中,它会循环它并多次启动它。如果我不把它放在处理程序中,我会遇到以下崩溃: 无法在未调用 looper.prepare() 的线程内创建处理程序
timer.schedule(new ListUpdate(), helper.nextListUpdate.get(0));
class ListUpdate extends TimerTask {
private Handler mHandler = new Handler(Looper.getMainLooper());
public void run() {
mHandler.post(new Runnable() {
public void run() {
AsyncTask<Integer, Void, Boolean> task = new updateList();
task.execute();
}
});
}
}
关于如何解决这个问题的任何建议?
【问题讨论】:
-
检查 this one 并让它工作
-
您收到此错误是因为您无法在 Thread.u 中更新您的 UI。您需要从处理程序更新 UI
-
我会将您的答案放在我的代码中的什么位置?
-
是的,但我需要关于如何解决它的建议,而不是它发生的原因!
-
更新UI的部分应该放在
runOnUiThread()里面
标签: android