问题描述
我已经看到了很多关于这个主题的问题,但我真的不是高兴与任何答案。
我想什么它有一个类ConnectionController实现Runnable
是负责打开连接如服务器,读取和写入消息,并有自被实例化开始通过端的应用程序。
我有一个类MainActivity从活动来延长
是的onCreate它将实例化一个ConnectionController对象。
这connectionController有更改MainActivity一些字段(并最终在另一个活动),如状态conections ImageView的,例如,或者甚至接收到的消息的TextView
由于connectionController是主题我无法访问元素(CalledFromWrongThreadException(只有创建视图层次可以触摸其观点原来的线程)。
你有什么推荐使用?我看到了异步任务,处理程序解决方案,myUIRunnable但我不明白什么是这种情况的最佳解决方案。
先谢谢了。
No, it does not. It needs to arrange for those things to be changed. Since you elected to make a "controller" be a thread for some reason, the controller cannot change those UI elements itself.
Use post()
on a View
. Or, use runOnUiThread()
on an Activity
. Or, use a Handler
.
这篇关于Android的CalledFromWrongThreadException的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!