2015-10-10 5 views
0

В моем адаптере GridView я пытаюсь эффективно загружать изображения, поэтому я использовал Picasso 2.5.2 (который позволяет загружать идентификатор ресурса).Ищете причины, по которым Bitmap.decodeResource с использованием resourceId вернет значение null

Picasso.with(mContext) 
       .load(resId) 
       .noFade() 
       .resize(newSize, newSize) 
       .into(imageView); 

Однако он всегда дает пустое изображение, когда я передаю ресурс с этим сообщением.

SkImageDecoder::Factory returned null 

Прежде чем я проверил страницу Пикассо GitHub Я думал, что я хотел бы попробовать с помощью Framework вызова:

imageView.setImageBitmap(BitmapFactory.decodeResource(App.get().getResources(), resId)); 

App.get(), это вернуть мое приложение синглтон так Context законен. Я также попытался передать в контексте из родителя параметры getView и передать в контекст активности. Протоколирование RESID показывает мне правильный идентификатор для вытяжки и он все еще не работает, но это работает:

imageView.setImageResource(resId); 

... но это не хорошо, потому что это не дает мне шанс зарезервировать память загружая изображение в меньшем размере.

Я пробовал как Genymotion, так и реальное устройство с теми же результатами.

Итак, как идентификатор контекста, так и ресурс в Logcat хороши, что еще может быть проблемой?

ответ

0

идентификатор ресурса является целочисленным значением drawable.Try следующего кода, чтобы получить идентификатор ресурса:

int resId = resources.getIdentifier(
productImageName, "drawable", context.getPackageName()); 

Вы можете узнать больше из here.

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

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