2 qq 23593851 qq_23593851 于 2016.04.30 22:28 提问

ViewRootImpl$CalledFromWrongThreadException:

我在adapter中用到了一个线程获取微博头像,在activity 中加载listView就报错,
android.view.ViewRootImpl$CalledFromWrongThreadException:
Only the original thread that created a view hierarchy can touch its views.
大神请指点

2个回答

caozhy
caozhy   Ds   Rxr 2016.04.30 22:35

不能在线程中直接操作View,必须线程同步,让界面线程自己处理。

CSDNXIAOS
CSDNXIAOS   2016.04.30 22:32

android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.

在定时器执行的timerTask中,更新界面ListView显示时出此异常,因为只有主线程才能刷新UI。
解决此异常使用Ha......
答案就在这里:ViewRootImpl$CalledFromWrongThreadException
----------------------Hi,地球人,我是问答机器人小S,上面的内容就是我狂拽酷炫叼炸天的答案,除了赞同,你还有别的选择吗?

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Android异常:android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original
Android异常:android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views. 出现这个异常的原因是你在子线程中修改了主线程中的组件的状态或数据。.翻译过来就是:只有创建这个控件的线程才
json数据显示到listview上报错:android.view.ViewRootImpl$CalledFromWrongThreadException解决办法
android.view.ViewRootImpl$CalledFromWrongThreadException解决办法
android.view.ViewRoot$CalledFromWrongThreadException 异常的解决方案 * 更新时间: 2011-07-21
在android平台下,进行多线程编程时,经常需要在主线程之外的一个单独的线程中进行某些处理,然后更新用户界面显示。但是,在主线线程之外的线程中直接更新页面显示的问题是:系统会报这个异常,android.view.viewroot$calledfromwrongthreadexception: only the original thread that created a view hierarc
android.view.ViewRootImpl$CalledFromWrongThreadException异常处理
一般情况下,我们在编写android代码的时候,我们会将一些耗时的操作,比如网络访问、磁盘访问发到一个子线程中来执行。而这类操作往往伴随着UI的更新操作。比如说,访问网络加载一张图片 new Thread() { @Override public void run() { try { URL url = new URL(path); Http
android.view.ViewRootImpl$CalledFromWrongThreadException:
android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.在Android平台下,进行多线程编程时,经常需要在主线程之外的一个单独的线程中进行某些处理,比如网络请求然后更新用户界面显示。但是,在
子线程中却抛出异常:android.view.ViewRootImpl$CalledFromWrongThreadException
Android中开通了子线程用于处理网络查询,但是在子线程中却抛出异常:android.view.ViewRootImpl$CalledFromWrongThreadException。        一般在Android程序中,为了控制UI线程,都会控制主线程的时间,一般是5秒,因为我开通了子线程,而且这个线程需要通过HTTP协议获取服务器上的数据,所以,比较耗时。而且,在子线程中需要对U
【Android】Dialog异常CalledFromWrongThreadException深入分析
问题在使用Dialog时,因为线程问题,在调用dismiss方法时出现了CalledFromWrongThreadException的Crash,如下:android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch it
android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a vi
当应用程序启动,创建了一个叫“main”的线程,用于管理UI相关,又叫UI线程。其他线程叫工作线程(Work Thread)。 Single Thread Model   一个组件的创建并不会新建一个线程,他们的创建都在UI线程中进行,包括他们的回调方法,如onKeyDown()。 当在UI线程中进行某些耗时的操作时,将会阻塞UI线程,一般阻塞超过5秒就会显示一个ANR
异常:android.view.ViewRootImpl$CalledFromWrongThreadException
抛出了: android.view.ViewRootImpl$CalledFromWrongThreadException 这个异常。 原因在于安卓只有UI线程(主线程)能更新UI,而这里这个UI不符合安卓的单线程设定,于是抛出异常。
ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy
我们都知道在非UI线程不能对UI进行操作,比如下面的操作  findViewById(R.id.btn).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { new Thread(new Ru