所以首先我想出了如何从另一个线程更新 UI。我将 AsyncTask 和 Handler 类用于其他任何事情
但首先我做错了,现在我真的想找出问题所在。
所以我的第一个尝试是创建一个MyListener
带有方法的 java 接口,updateUI()
并让主要活动实现该侦听器接口。比我在处理 http 请求的线程中将主要活动注册为侦听器。MyListener.updateUI()
在请求完成后我从那个线程调用。updateUI()
用请求的结果更新一些文本视图。
这在安卓中不起作用。我没想到。我不知道为什么。异常告诉我,我必须从 UI 线程进行这些更新。
当我使用从侦听器接口实现的主要活动进行调用时,我不明白为什么updateUI()
不在 UI 线程中运行。MyListener.updateUI()
updateUI()
你能解释一下这种行为吗?