2013-05-24 2 views
1

У меня есть активность, которая содержит ImageView, я вызываю это действие каждый раз, когда хочу открыть изображение для лучшего просмотра. Проблема в том, что иногда мой ImageLoader отлично работает, но иногда он не отображает изображение. Я использую универсальный-образ-погрузчик-1.8.4.jar и андроид 4.2.2Изображение не отображается иногда с Universal Image Loader

Когда мой ImageLoader не показывает мое изображение, я получаю в журнале:

ImageView повторно используется для другого изображения. Задача отменяется.

Моя конфигурация:

ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(this) 
.enableLogging() 
.threadPriority(Thread.MAX_PRIORITY) 
.build();  
imageLoader.init(config); 

Мой метод:

private void getImage() { 
Bundle bundle = getIntent().getExtras(); 
String dir= bundle.getString("poster"); 
imageLoader.displayImage(dir, imgPoster); 
} 

Может кто-нибудь мне помочь?

+0

Что говорят журналы? – petey

+0

вы можете проверить это для справки http://stackoverflow.com/questions/15621936/whats-lazylist. Вам нужно разместить еще несколько кодов. – Raghunandan

+0

В моем журнале говорится: «ImageView повторно используется для другого изображения. Задача отменена». – andrehsouza

ответ

1

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

Попробуйте это:

String dir = ""; 

Handler mHandler = new Handler(){ 
     public void handleMessage(android.os.Message msg) { 
      switch(msg.what){ 
       case 0: 
        imageLoader.displayImage(dir, imgPoster); 
        break; 
      } 
     }; 
    }; 

private void getImage() { 
     Bundle bundle = getIntent().getExtras(); 
     dir= bundle.getString("poster"); 
     mHandler.sendEmptyMessageDelayed(0,500); 
} 
0

Try и проверить, если изображение URL, есть пробелы в них. В этом случае заменить пробелы на «% 20».

stringURL.replaceAll(" ", "%20"); 
Смежные вопросы