2016-03-12 3 views
0

Я пытаюсь загрузить изображения в ресайклере View с помощью Пикассо используя кодPicasso показывает ошибку при загрузке изображений (Обложка альбома Pic) из MediaStore

Picasso.with(context).load(songs.CoverArtAlbumPath.get(position)).into(holder.primaryImageView, new Callback() { 
      @Override 
      public void onSuccess() { 
       Log.v("abc","suc"); 
      } 

      @Override 
      public void onError() { 
       Log.v("abc","err"); 
      } 
     }); 

И это всегда заканчивается в OnError() метод. Я попытался загрузить изображения традиционным способом, используя BitmapFactory.decodeFile и другие методы, а затем он работал нормально.

songs.CoverArtAlbumPath.get (позиция) содержат строки, как в "/storage/emulated/0/Android/data/com.android.providers.media/albumthumbs/1456505346363"

Я также попытался для загрузки изображения из выпадающей папки, просто изменив параметры .load() в коде Picasso и загрузиться. Это означает отсутствие ошибок в контексте и ImageView, которые я использую здесь.

Строка, которую я передаю методом .load(), представляет собой строковый путь для обложки альбома из MediaStore.

ImageView здесь используется представление в следующем коде XML <ImageView android:gravity="left" android:id="@+id/grid_image" android:layout_width="wrap_content" android:layout_height="wrap_content"> </ImageView>

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

Заранее спасибо.

ответ

0

вы можете попробовать это:

for showing image with storage path: 

     String path ="/storage/emulated/0/Android/data/com.android.providers.media/albumthumbs/145650‌​5346363.png"; 

     Picasso.with(mContext).load("file://" + path) 
     //.transform(new util.CircleTransform())// optional 
     //.placeholder(R.drawable.default1) // optional 
     .error(R.drawable.default1) // optional 
     .into(holder.primaryImageView); 

for showing image from url: 

    String url ="http://www.domain_name.com/image.png"; 
    Picasso.with(mContext) 
      .load(url) 
      //.placeholder(R.drawable.default1) // optional 
      .error(R.drawable.default1) // optional 
      //.transform(new CircleTransform())// optional 
      .into(holder.primaryImageView); 
+0

Я могу загрузить его из растяжимой папки даже как R.drawable.Image, но проблема заключается в том, что параметр .load() является строкой. –

+0

вы уверены в пути. url с "http: //" перед доменным именем .. пожалуйста, проверьте мое обновление, как указано выше. – rockstar

+0

Строка "/storage/emulated/0/Android/data/com.android.providers.media/albumthumbs/1456505346363" вот так –

0

Вы делаете это неправильно попробовать этот

String path ="/storage/emulated/0/Android/data/com.android.providers.media/albumthumbs/145650‌​5346363.png"; 

Picasso.with(context).load(new File(path)).into(holder.primaryImageView); 

Для получения дополнительной информации перейдите к http://square.github.io/picasso/

+0

Yup. это тоже сработает. Благодаря :) –

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