1

我正在尝试使用我创建的 AsyncTask 类来更新 MapView。问题是当我调用执行 AsyncTask 时出现此错误:

 "Can't create a Handler inside a thread that has not called Looper.prepare()"

我尝试使用在 UI 线程上运行任务

Handler hand = new Handler(Looper.getMainLooper());
    hand.post(new Runnable() {

        public void run() {
            new RxThread().execute();


        }


    });

但这只是给了我同样的错误。我意识到我的 MapView 没有调用 looper prepare,并且由于我在单独的 Activity 而不是 Main Activity 上运行 MapView,因此我无法使其正常工作。有没有人对此有很好的解决方案?

4

1 回答 1

2

IIRC,您的错误是因为您首先AsyncTask在后台线程上引用。您只能在主应用程序线程上创建和execute()一个。AsyncTask

于 2012-05-08T23:02:27.663 回答