【发布时间】:2011-03-08 14:51:29
【问题描述】:
我搜索并找到了我所遇到的确切问题 (http://stackoverflow.com/questions/4369537/update-ui-from-thread)。不幸的是,我仍然无法正常工作。
我的布局上有一个 ImageView。按下按钮时,会创建并显示 ProgressDialog。当线程处理数据时,它会在 UI 中的处理程序上调用 incrementProgressBy() 方法。在该处理程序中,我使用 setImageBitmap() 更新 ImageView,然后将其无效。它永远不会更新。接下来,我尝试从进度条的线程中调用 ImageView.postInvalidate()。在进度条完成并被移除之前,它仍然不会更新。
有什么想法吗?
【问题讨论】:
-
就处理程序而言,听起来您做得正确。没有必要使位图无效,因为 setImageBitmap() 已经这样做了。
-
您应该发布您的代码。您还知道,当您显示 ProgressDialog 时,您的活动会暂停。也许这就是原因?如果没有 ProgressDialog,你能尝试同样的方法吗?
-
我真的离不开对话框。本质上,用户使用应用程序拍照并输入信息。这些照片稍后会上传到网络服务。进度条指示已删除的照片数量以及剩余的照片数量。由于进度对话框没有覆盖整个屏幕,我认为在后台显示正在发送的图像会很好。
标签: android multithreading user-interface progressdialog