Android 调用getter方法时是否等待async完成?
我有一个模型,它有一个方法setImgURL,当用户调用此方法时,它会保存图像url并调用异步任务从url加载图像并将其保存为位图图像Android 调用getter方法时是否等待async完成?,android,bitmap,android-asynctask,Android,Bitmap,Android Asynctask,我有一个模型,它有一个方法setImgURL,当用户调用此方法时,它会保存图像url并调用异步任务从url加载图像并将其保存为位图图像 public void setImgURL(String imgURL) { this.imgURL = imgURL; LoadImgFromURL().execute(getImgURL()); } private AsyncTask<String, Void, Bitmap> LoadImgFromURL(){ ret
public void setImgURL(String imgURL) {
this.imgURL = imgURL;
LoadImgFromURL().execute(getImgURL());
}
private AsyncTask<String, Void, Bitmap> LoadImgFromURL(){
return new AsyncTask<String, Void, Bitmap>() {
protected Bitmap doInBackground(String... urls) {
Bitmap mIcon11 = null;
Log.i(MainActivity.TAG,"Loading image");
String urldisplay = urls[0];
try {
InputStream in = new java.net.URL(urldisplay).openStream();
mIcon11 = BitmapFactory.decodeStream(in);
} catch (Exception e) {
Log.e("Error", e.getMessage());
e.printStackTrace();
}
return mIcon11;
}
protected void onPostExecute(Bitmap result) {
setBitmap(result);
}
};
}
public Bitmap getBitmap(){
return bmImage;
}
当用户调用getBitmap时,是否可能等待异步任务完成???是,可能:-)
AsyncTask有一个名为get()的方法-如果您首先执行任务,然后在需要的地方,对AsyncTask对象调用方法get(),则应用程序将等待任务完成,并调整返回类型的大小
我试过了,但没用。。。公共位图getBitmap(){async.get();返回bmImage;}