2017-03-17 4 views
0

안녕하세요. 문제가 생겼습니다. 목록이 있는데 목록에서 reycleview를 사용하여보아야하지만, cericare phat를 통해 이미지를보고 피카소를 사용합니다.이미지를 recycleView에서 Picasso로로드하십시오.

@Override 
public void onBindViewHolder(ViewHolder viewHolder, final int i) { 
    this.viewHolder=viewHolder; 
    if(scheduler.size()>=1){ 
     viewHolder.time.setText(scheduler.get(i).getTime()); 
     viewHolder.data.setText(scheduler.get(i).getData()); 
     viewHolder.delete.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       removeItem(i); 
      } 
     }); 


     String phat=scheduler.get(i).getImageString(); 
     //result paht: content://com.android.providers.media.documents/document/image%3A445 
     Picasso.with(c).load(phat).into(viewHolder.img);//does not display the image 




     viewHolder.img.setOnClickListener(new MyClikListener(i)); 
     viewHolder.time.setOnClickListener(new MyClikListener(i)); 
     viewHolder.data.setOnClickListener(new MyClikListener(i)); 
     viewHolder.card_view_reminder.setOnClickListener(new MyClikListener(i)); 
    } 

} 

또한 URI는 있지만 아무것도 변환하지 않았습니다. 만들기 디버깅 날이

new DownloadImage(yourImageView).execute(URL); 

는 백그라운드 프로세스에서 다운로드 이미지 AsyncTask를을 만들 시도

+0

무엇이 문제입니까, 앱이 충돌합니까? 또는 이미지가 단순히로드되지 않습니다? –

+0

오류가 있습니까? 오류 메시지를 기록하려면 빌더로 Picasso 인스턴스를 작성하십시오. 'Picasso picasso = 새로운 Picasso.Builder (c) .listener (...). build()' – csabapap

답변

-1

을 onBitmapFailed 알려줍니다

public class DownloadImage extends AsyncTask<String, Void, Bitmap> { 
    CircleImageView bmImage; 

    public DownloadImage(ImageView bmImage) { 
     this.bmImage = (CircleImageView) bmImage; 
    } 

    protected Bitmap doInBackground(String... urls) { 
     String urldisplay = urls[0]; 
     Bitmap mIcon11 = null; 
     try { 
      InputStream in = new java.net.URL(urldisplay).openStream(); 
      mIcon11 = BitmapFactory.decodeStream(in); 
     } catch (Exception e) { 
      Log.d("Error", e.getStackTrace().toString()); 

     } 
     return mIcon11; 
    } 

    protected void onPostExecute(Bitmap result) { 
     bmImage.setImageBitmap(result); 
    } 
} 

그것은 모두를 위해 작동합니다 ..

0

를 사용하여 아래 코드 :

Picasso.with(c).load(new File(phat)).into(viewHolder.imageView); 

희망이 도움이됩니다.