2013-02-26 1 views
0

Я использую библиотеку UrlImageViewHelper, разработанную Koushik Dutta (Koush). Вот что я делаюИсключение роли в библиотеке UrlImageViewHelper при попытке передать BitmapDrawable

  1. Загрузить изображения с URL-адреса в изображение, которое находится внутри сетки.
  2. Загрузка изображений работает отлично и довольно быстро.

Я пытаюсь сохранить изображение, загруженное внутри изображения, в качестве обоев, но оно вылетает и генерирует исключение кастинга.

Код

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

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(); 

    } 
}) ;