在写一个经过按钮改变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
的异常!