我正在使用由Koushik Dutta(Koush)开发的UrlImageViewHelper lib。这就是我正在做的事情
我正在尝试将加载在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的库非常快速且易于使用。
答案 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();
}
}) ;