在寫一個經過按鈕改變TextView顯示的的文字的顏色的程序時遇到這樣的錯誤:android
E/AndroidRuntime(323): android.view.ViewRoot$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.安全
這是由於在非主線程中更新UI所產生的錯誤!原來我在源代碼中新建立了一個線程並把改變文字顏色的代碼寫在了這個線程中,因此就形成了這樣的錯誤。當android的每一個應用程序啓動的同時會啓動一個對應的主線程(main Thread),負責UI的更新和事件分發,如用戶點擊屏幕,主線程就會把此事件分發給對應的組件進行處理,因此主線程又叫作UI線程。
android的UI操做並非線程安全的而且這些操做必須交由主線程來完成,若是在非主線程中進行UI操做,則會拋出
android.view.ViewRoot$CalledFromWrongThreadExc
eption: Only the original thread that
created a view hierarchy can touch its views
的異常!