2013-02-26 143 views
0

我使用由Koushik Dutta(Koush)开发的UrlImageViewHelper库。这是我在做什么在UrlImageViewHelper库中投射异常,同时尝试投射BitmapDrawable

  1. 加载图像从一个网址到imageview里面的gridview。
  2. 图像加载完美,速度非常快。

我想保存加载在imageview中的图像,作为壁纸,但它崩溃并抛出一个转换异常。

代码

UrlViewImageHelper.setURLDrawable(imageView,"some url here"); 
Bitmap bitmap = ((BitmapDrawable)imageView.getDrawable()).getBitmap(); 

上面一行抛出该异常

02-26 06:54:07.987: E/AndroidRuntime(19659): java.lang.ClassCastException: com.koushikdutta.urlimageviewhelper.UrlImageViewHelper$ZombieDrawable 

我如何获得的ImageView为位图里面的形象呢?我究竟做错了什么?

据我所知,我可以使用一些其他库,如Android通用图像加载器(还没有尝试过),SmartImageView(好但很慢),但koush的库非常快速且易于使用。

回答

0

URLViewImageHelper以异步方式在单独线程中下载图像,因此在调用imageView.getDrawable()的时候,图像尚未加载。

什么ü可以尝试是注册一个回调对象,当图像完成加载通知:

UrlViewImageHelper.setURLDrawable(imageView,url, defaultResource, new UrlImageViewCallback() { 
    @Override 
    public void onLoaded(ImageView imageView, Bitmap loadedBitmap, String url, boolean loadedFromCache) { 
     // your method here 
     Bitmap bitmap = ((BitmapDrawable)imageView.getDrawable()).getBitmap(); 

    } 
}) ;