2016-02-20 7 views
1

Я пытаюсь загрузить изображение:Пикассо никогда не вызывая обработчик завершения при попытке загрузить изображение на Android

Picasso.with(SelectActivity.this).load(picture).into(new Target() { 
     @Override 
     public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) { 
      bmp = bitmap; 
      findViewById(R.id.facebookButton).setEnabled(true); 
      continueToEditing(); 
     } 

     @Override 
     public void onBitmapFailed(Drawable errorDrawable) { 
      findViewById(R.id.facebookButton).setEnabled(true); 
     } 

     @Override 
     public void onPrepareLoad(Drawable placeHolderDrawable) { 

     } 
    }); 

picture является действительной строкой в ​​достижимости, действительного изображения JPEG. У меня есть все внутри блока try/catch, и у меня есть точки останова на onBitmapLoaded, onBitmapFailed и блок catch try/catch.

Однако все это не называется. В logcat также нет ничего, что связано с этим. Что я делаю не так?

+0

столкнулся с подобным вопросом. Никогда не разрешал это. Я закончил писать свой пользовательский загрузчик изображений отсюда: http://developer.android.com/reference/android/util/LruCache.html –

+1

Это классическая проблема, что Пикассо содержит только слабые ссылки на Цели. Вам нужно держаться за цель, чтобы ее не было. –

ответ

1

Попробуйте сохранить сильный ссылку на объект Target как переменную класса и попробовать.

E.g.

Target target;// Class variable 
//Now define this on your onCreate method 
target = new Target() { 
    @Override 
    public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) { 
     bmp = bitmap; 
     findViewById(R.id.facebookButton).setEnabled(true); 
     continueToEditing(); 
    } 

    @Override 
    public void onBitmapFailed(Drawable errorDrawable) { 
     findViewById(R.id.facebookButton).setEnabled(true); 
    } 

    @Override 
    public void onPrepareLoad(Drawable placeHolderDrawable) { 

    } 
}); 
//Now set the target on the Piccaso load LOC 
Picasso.with(SelectActivity.this).load(picture).into(target); 

 Смежные вопросы

  • Нет связанных вопросов^_^