【问题标题】:How to set target viewholder for picasso in RecyclerView Adapter如何在 RecyclerView 适配器中为毕加索设置目标视图
【发布时间】:2019-05-01 16:40:08
【问题描述】:

我在自定义 RecyclerView 适配器中使用毕加索库。在 onBindViewHolder() 中,绑定到视图持有者显示错误

public class ViewHolder extends RecyclerView.ViewHolder
    {
        ImageView image_view;
        public ViewHolder(View itemView)
        {
            super(itemView);
            image_view = (ImageView) itemView.findViewById(R.id.background);
        }
    }

 @Override
    public void onBindViewHolder(RecyclerView.ViewHolder holder, int 
    listPosition)
    {
        String abcd = "http://localhost/tack/poster1.jpg";
        Picasso.with((Context) mContext).load(abcd).into(holder.image_view);
    }

显示错误 - cannot resolve symbol 'image_view'

我需要将图像从 URL 绑定到 ImageView

【问题讨论】:

  • 你好。我有一个班级,但我使用 Glide 而不是 Picasso。你想要吗?
  • picasso和glide都需要viewholder来设置图片。我无法访问查看器
  • 您需要将ViewHolder 转换为您的内部ViewHolder 或只需更改适配器类型,如YourAdapter extends RecyclerView.Adapter<YourAdapter.ViewHolder >
  • @ADM 抱歉,您能否说得更具体一些。上面代码中的内部 ViewHolder 是什么?
  • @ADM。谢谢,现在工作了

标签: android android-recyclerview picasso


【解决方案1】:

请查看我的适配器并将其与您的适配器进行比较,然后根据需要更新所需的方法和参数。

public class FollowerAdapter1 extends RecyclerView.Adapter<FollowerAdapter1.MyViewHolder> {

    private Context context;

    public FollowerAdapter1(Context context) {
        this.context=context;
    }

    @Override
    public MyViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
        View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.custom_followers,null);
        return new MyViewHolder(view);
    }

    @Override
    public void onBindViewHolder( final MyViewHolder holder, final int i) {
                Glide.with(context)
                        .load("YOUR IMAGE URL")
                        .apply(RequestOptions.placeholderOf(R.drawable.placeholder))
                        .into(holder.ivfollower);

    }
    @Override
    public int getItemViewType(int position) {
        return position;
    }

    @Override
    public int getItemCount() {
            return 10;
    }

    public class MyViewHolder extends RecyclerView.ViewHolder {
        private ImageView ivfollower,ivfollow;

        public MyViewHolder(View itemView) {
            super(itemView);
            ivfollower=itemView.findViewById(R.id.iv_follow_profile);

        }
    }
}

【讨论】:

    猜你喜欢
    • 2020-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多