【发布时间】:2016-06-03 15:10:29
【问题描述】:
好的,这可能是一个菜鸟问题,但我找不到任何可以帮助我的东西。我在这个类中将 ImageView 上的位图作为异步任务加载:
class MyNetworkTask extends AsyncTask<URL, Void, Bitmap> {
ImageView tIV;
public MyNetworkTask(ImageView iv){
tIV = iv;
}
@Override
protected Bitmap doInBackground(URL... urls) {
Bitmap networkBitmap = null;
URL networkUrl = urls[0]; //Load the first element
try {
networkBitmap = BitmapFactory.decodeStream(
networkUrl.openConnection().getInputStream());
} catch (IOException e) {
e.printStackTrace();
}
return networkBitmap;
}
@Override
protected void onPostExecute(Bitmap result) {
tIV.setImageBitmap(result);
}
这就是我从我的活动中调用它的方式:
new MyNetworkTask(myImageView).execute(photo_url);
但这将是异步的,对吗?这意味着如果在我的 Activity 之后我尝试使用 BitMap,它将是 null。
有没有像“do when??”这样的循环等待这个 BitMap,然后做点什么?
或者有没有办法处理来自该异步类的回调?
【问题讨论】:
-
有没有办法处理来自该异步类的回调是的,它被称为回调。如果你用谷歌搜索'android asynctask callback',你会得到大约 23563465467 个结果,解释它是如何工作的 :-)
-
谢谢@TimCastelijns,我会看看这个链接:)
-
如果您认为该链接回答了您的问题,您可以单击顶部的横幅以将其作为副本接受 :-)
-
@TimCastelijns - 谢谢!