一.前言:
项目开发中会涉及到一些耗时操作,这个时候就会开启一个子线程,将耗时操作放到子线程中取操作,操作完毕后,往往还要同步更新ui,这个时候如果直接在子线程中更新ui,将会导致程序的闪退,同时还会看到如下报错
android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.
意思是:只有创建视图层次结构的原始线程才能触及它的视图,其实说白了就是在子线程不能做更新UI的操作。
二.解决方法:
- 第一种方式 : runOnUiThread
- 第二种方式 : view.post();
- 第三种方式 : Handler.post();
第一种方式 : runOnUiThread
第二种方式 : view.post();
第三种方式 : Handler.post();
三.总结:
以上就是我对如何在Android子线程中更新UI总结出的几个方法,如有更好的方式,欢迎加我QQ:1123600675,大家一起沟通探讨一起学习!!


