复制代码代码如下:
file akhir imagefile = file baru (getCachedir (). getPath () + "/img/" + p.image);
Image.setVisibility (view.gone);
view.findviewById (r.id.imageloading) .setVisibility (view.visible);
(asynctask baru <void, void, bitmap> () {
@Mengesampingkan
Bitmap yang dilindungi doinbackground (void ... params) {
mencoba {
Gambar bitmap;
if (! imagefile.exists () || imagefile.length () == 0) {
gambar = bitmapfactory.decodestream (URL baru (
"http://example.com/images/"
+ p.image) .openstream ());
Image.compress (bitmap.compressformat.jpeg, 85,
FileOutputStream baru (ImageFile));
image.recycle ();
}
gambar = bitmapfactory.decodefile (imagefile.getPath (),
bitmapoptions);
gambar kembali;
} catch (Malformedurlexception ex) {
// TODO Blok tangkapan yang dihasilkan otomatis
Ex.PrintStackTrace ();
kembali nol;
} catch (ioException ex) {
// TODO Blok tangkapan yang dihasilkan otomatis
Ex.PrintStackTrace ();
kembali nol;
}
}
@Mengesampingkan
Void OnPostExecute yang dilindungi (gambar bitmap) {
if (view.gettag ()! = p) // tampilan itu didaur ulang.
kembali;
view.findviewById (r.id.imageloading) .setVisibility (
View.gone);
view.findviewById (r.id.image)
.setVisibility (view.visible);
((Imageview) view.findviewById (r.id.image))
.setImageBitMap (gambar);
}
}).menjalankan();