场景:我有一个对话框片段。单击图像时,它会启动一个活动,该活动在异步任务中执行该过程。当我返回结果时,活动完成并返回到对话框片段。返回时,必须更改图像。
问题:图像保持不变,只有当您关闭对话框片段并重新打开它时,它才会改变。
抱歉,我没有发布代码,只是想要一些有关如何从活动异步任务更新视图的建议。
我建议如下:
需要您的代码来查看您实际想要做什么。
如果我理解正确,请尝试在 invalidate()
的
onPostExecute()
中对 ImageView 使用 AsyncTask
方法。
如果您在启动的
AsyncTask
中启动 Activity
,正如我想的那样,您可以在对话框片段中启动自定义活动,并将 ImageView
指针传递给构造函数。像这样的东西:
public class AsyncTaskActivity extends Activity{
private ImageView yourImage;
public AsyncTaskActivity(ImageView yourImage){
this.yourImage = yourImage;
}
....
//your AsyncTask should be like this
new AsyncTask<Void, Void, Void>(){
//here your backround process
...
//here we invalidate ImageView
@Override
protected void onPostExecute(Void result) {
//update image Bitmap or something else
...
yourImage.invalidate();
}
}.execute();
}