Android Can';即使使用处理程序,也不能从另一个线程访问视图
我正在编写一个简单的应用程序,用于在服务器和本地网络上的应用程序之间进行通信。编写和接收消息没有问题。但我无法在文本视图中显示收到的消息 为了接收传入消息,我使用了一个(工作者)线程。当我收到消息时,我会将消息发送给主线程中的处理程序,然后该处理程序会在文本视图中显示消息。Android Can';即使使用处理程序,也不能从另一个线程访问视图,android,multithreading,view,handler,Android,Multithreading,View,Handler,我正在编写一个简单的应用程序,用于在服务器和本地网络上的应用程序之间进行通信。编写和接收消息没有问题。但我无法在文本视图中显示收到的消息 为了接收传入消息,我使用了一个(工作者)线程。当我收到消息时,我会将消息发送给主线程中的处理程序,然后该处理程序会在文本视图中显示消息。 但每次处理程序试图显示消息时,我都会得到异常: “只有创建视图层次结构的原始线程才能接触其视图。” 我搜索了很多网站,包括这一个,以找到解决方案,但仍然无法解决问题。请帮帮我 代码: 您直接调用处理程序上的方法(因此在工作
但每次处理程序试图显示消息时,我都会得到异常:
“只有创建视图层次结构的原始线程才能接触其视图。” 我搜索了很多网站,包括这一个,以找到解决方案,但仍然无法解决问题。请帮帮我 代码:
您直接调用处理程序上的方法(因此在工作线程上),而不是推送消息 而不是:
mHandler.handleMessage(msg);
您将需要:
mHandler.sendMessage(msg);
参考:而不是这个:
mHandler.handleMessage(msg);
使用以下命令:
mHandler.sendMessage(msg);
@TedHopp;-)欢迎来到stackoverflow,当你找到解决方案时,别忘了养成将你的问题标记为已回答的习惯
mHandler.sendMessage(msg);