我正在尝试使用我创建的AsyncTask类来更新MapView。问题是当我调用执行AsyncTask时出现此错误:
"Can't create a Handler inside a thread that has not called Looper.prepare()"
我尝试使用
在UI线程上运行TaskHandler hand = new Handler(Looper.getMainLooper());
hand.post(new Runnable() {
public void run() {
new RxThread().execute();
}
});
但这只是给了我同样的错误。我意识到我的MapView并没有调用looper准备,而且由于我在单独的活动而不是主活动上运行MapView,因此我无法解决这个问题。有没有人有这个好的解决方案?
答案 0 :(得分:2)
IIRC,您的错误是因为您首先在后台线程上引用AsyncTask
。您只能在主应用程序主题上创建并execute()
AsyncTask
。