当前位置:  开发笔记 > Android > 正文

Android:线程从网络加载数据后更新Listview

如何解决《Android:线程从网络加载数据后更新Listview》经验,为你挑选了1个好方法。

我有同样的问题......当我遇到这个问题时,我很兴奋.但没有答案?:-(

之后,让问题持续了大约两周,我在这里找到了解决方案:

长话短说:

从上面链接引用:

我们必须使用Handler对象,因为在单独的线程中我们无法更新大多数UI对象.当我们向Handler发送消息时,它将被保存到队列中并尽快由UI线程执行.

查看代码后,您会看到作者所说的内容.
注意:即使使用处理程序,Android也可能不允许您从线程的run()方法更新视图对象.我收到了这个错误:

05-31 02:12:17.064: ERROR/AndroidRuntime(881):
android.view.ViewRoot$CalledFromWrongThreadException: 
Only the original thread that created a view hierarchy can touch its views.

为了解决这个问题,我在run()方法中更新了一个数据数组,并使用该数组更新了处理程序的handleMessage()方法中的视图.

我希望这有助于其他人.



1> 小智..:

我有同样的问题......当我遇到这个问题时,我很兴奋.但没有答案?:-(

之后,让问题持续了大约两周,我在这里找到了解决方案:

长话短说:

从上面链接引用:

我们必须使用Handler对象,因为在单独的线程中我们无法更新大多数UI对象.当我们向Handler发送消息时,它将被保存到队列中并尽快由UI线程执行.

查看代码后,您会看到作者所说的内容.
注意:即使使用处理程序,Android也可能不允许您从线程的run()方法更新视图对象.我收到了这个错误:

05-31 02:12:17.064: ERROR/AndroidRuntime(881):
android.view.ViewRoot$CalledFromWrongThreadException: 
Only the original thread that created a view hierarchy can touch its views.

为了解决这个问题,我在run()方法中更新了一个数据数组,并使用该数组更新了处理程序的handleMessage()方法中的视图.

我希望这有助于其他人.

推荐阅读
黄晓敏3023
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有