复制代码代码如下:
окончательный файл imagefile = new File (getCachedir (). getPath () + "/img/" + p.image);
Image.SetVisibility (view.gone);
view.findviewbyid (r.id.imageLoading) .setVisibility (view.visible);
(Новая Asynctask <void, void, bitmap> () {
@Override
Защищенный растровый карта doinbackground (void ... params) {
пытаться {
Растровое изображение;
if (! imagefile.exists () || imagefile.length () == 0) {
image = bitmapfactory.decodestream (новый URL (
"http://example.com/images/"
+ p.Image) .OpenStream ());
Image.compress (Bitmap.compressformat.jpeg, 85,
new FileOutputStream (ImageFile));
image.recycle ();
}
image = bitmapfactory.decodefile (imagefile.getPath (),
Bitmapoptions);
вернуть изображение;
} catch (malformedurlexception ex) {
// Todo Auto Generated Catch Blach
ex.printstacktrace ();
вернуть ноль;
} catch (ioException ex) {
// Todo Auto Generated Catch Blach
ex.printstacktrace ();
вернуть ноль;
}
}
@Override
Защищенная void onpostexecute (растровое изображение) {
if (view.gettag ()! = p) // Вид был переработан.
возвращаться;
view.findviewbyid (r.id.imageLoading) .setvisibility (
View.gone);
view.findviewbyid (r.id.image)
.setvisibility (view.visible);
((ImageView) view.findviewbyid (r.id.image))
.setImageBitmap (Image);
}
}).выполнять();