所以我一直在尝试使用像runOnUiThread()
和View。
发布更新我的图片视图来自一个类不扩展活动之外的类,我不断遇到同样的问题:
第一次运行良好,但是当我重新启动应用程序时,图像视图将不再更新。
我可以使用AsyncTask
类来获取位图,然后使用该位图来设置它和Image视图吗?如果是这样,有人能告诉我一个例子吗?
答案 0 :(得分:2)
如果像这样扩展AsyncTask
class ClassName扩展了AsyncTask
您必须从doInBackground()返回一个Bitmap,并且您将覆盖onPostExecute(Bitmap),它将在UI线程上运行,这意味着您将能够将该Bitmap设置为ImageView。
答案 1 :(得分:0)
仅在runInBackground()
上调用AsyncTasks的worker thread
方法。其他方法在UI线程上调用,因此您可以使用它来调用UI的更改。
您可以使用onPreExecute()
作为进度条来开始。
您可以使用publishProgress()
,就像它说的那样,发布您的任务的进度,比如说下载了多少百分比。
您可以使用onPostExecute()
设置视图,例如您可能已下载的位图或文本片段。