使用 Picasso 在 RecyclerView 中加载图像

Load Image in RecycleView with Picasso

大家好,我有一个问题, 我有一个列表,我必须使用 reycleview 在列表中查看它,但是当我通过 cericare phat 转到图像并使用 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));
    }

}

我也尝试过将 pat 转换为 URI,但没有成功。 进行调试告诉我 onBitmapFailed

试试这个

  new DownloadImage(yourImageView).execute(URL);

为从后台进程下载图像创建 AsyncTask

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);
    }
}

它对所有人都有效..

使用下面的代码:

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

希望对您有所帮助。