我有从服务器下载图像的后台服务。我希望在下载完成后更新我的UI或ListView。想要将按钮上的文本更改为“已下载”。请帮帮我 提前致谢
答案 0 :(得分:0)
您可以通过后台服务广播来接收主线程所说的活动。然后,从onRecieve()
方法,您可以通过更新模型并调用适配器的ListView
来更新notifyDatasetChanged()
。
广播接收器的示例 http://www.tutorialspoint.com/android/android_broadcast_receivers.htm
或者你可以将主线程的处理程序传递给service usnig intent,并可以通过使用该处理程序在主线程上发布消息来更新主线程或listview
。
处理者的例子
https://developer.android.com/training/multiple-threads/communicate-ui.html
答案 1 :(得分:-1)
您无法从后台线程更新视图! 下载完图像后需要调用: 您可以阅读this。
runOnUiThread(new Runnable() {
@Override
public void run() {
// refresh list
}
});