在尝试转换BitmapDrawable时,在UrlImageViewHelper库中转换异常

时间:2013-02-26 01:37:49

标签: android urlimageviewhelper

我正在使用由Koushik Dutta(Koush)开发的UrlImageViewHelper lib。这就是我正在做的事情

  1. 将网址中的图片加载到gridview内的imageview中。
  2. 图像加载效果非常好,速度非常快。
  3. 我正在尝试将加载在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 Universal Image Loader(还没有尝试过),SmartImageView(好但很慢),但koush的库非常快速且易于使用。

1 个答案:

答案 0 :(得分: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();

    }
}) ;