2 回答

TA貢獻1846條經驗 獲得超7個贊
您可以執行一些操作,例如在構造函數中將圖像視圖傳遞到異步任務中。為此,首先修改您的異步任務,如下所示:
class AsyncForBitmap extends AsyncTask<String, Void, Bitmap> {
private final ImageView mImageView;
public AsyncForBitmap(ImageView imageView){
mImageView = imageView;
}
private Exception exception;
protected Bitmap doInBackground(String... urls) {
try {
URL url=new URL(urls[0]);
Bitmap bitmap = BitmapFactory.decodeStream((InputStream)url.getContent());
return bitmap;
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
protected void onPostExecute(Bitmap bitmap){
mImageView.setImageBitmap(bitmap);
}
}
然后,只需執行以下操作:
...
case XmlPullParser.START_TAG:
if (tagname != null && tagname.equals(iconsrc)){
iconsrcVALUE = parser.getAttributeValue(0);
new AsyncForBitmap(IV).execute(iconsrcVALUE);
}
break;

TA貢獻1876條經驗 獲得超5個贊
試試這個代碼
protected void onPostExecute(Bitmap bitmap) {
runOnUiThread(new Runnable() {
@Override
public void run() {
mImageView.setImageBitmap(bitmap);
}
});
}
添加回答
舉報