2010-10-18 35 views
2

我想從asyntask線程調用invalidate()。我收到此錯誤:在Android中的異步任務線程中調用invalidate的問題!

10-18 15:14:30.469:ERROR/AndroidRuntime(889):android.view.ViewRoot $ CalledFromWrongThreadException:通過只造成原來的創建視圖層次可以觸摸線程其觀點。

我已經使用該生產線是:

mainClass.myMapView.invalidate(); //其中mainClass =主UI類

任何人都親切地表明這裏是我的錯是什麼?

謝謝。

- 阿赫桑

回答

2

你不能這樣做,從不同的線程比UI線程(因此它的名字)任何UI相關。您應該撥打onPostExecute()或撥打onProgress()致電invalidate()。或者,使用runOnUiThread()(這基本上是publishProgress()/onProgress()所做的)。