Recyclerview-cardview onclick更改图片?

时间:2019-06-05 17:56:06

标签: java android android-recyclerview onclick android-cardview

我有一个应用程序,作为Recyclerview-> Cardview,在cardvie中我有文字和图像,而我想做的是onclick更改 卡片视图的图像;

这是用于处理卡片视图点击的代码; 有没有一种方法可以更改点击img,recyclerview大约有20张cardviews。

活动

   @Override
    public void onItemClick(int position) {
        myAdapter click = myList.get(position);
        String name = click.getName();

        Log.e(TAG, "Position: " + position);
    }

适配器

public class ViewHolder2 extends RecyclerView.ViewHolder {
        public TextView fId;
        public TextView fName; 
        public ImageView fImageButton;

        public ViewHolder2(@NonNull View itemView) {
            super(itemView);
            fId       = itemView.findViewById(R.id.id);
            fName     = itemView.findViewById(R.id.name);
            fImageButton = itemView.findViewById(R.id.micd_item_icon); 

            itemView.setOnClickListener(new View.OnClickListener(){
                @Override
                public void onClick(View v) {
                    int position = getAdapterPosition();
                    if (position != RecyclerView.NO_POSITION) {
                        fListener.onItemClick(position);
                        Log.e(TAG, "D");
                    }

                }
            });
        }
    }



     public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
        myAdapter currentItem = myList.get(position);

        String id       = currentItem.getfId();
        String name     = currentItem.getfName(); 

        holder.fId.setText(id);
        holder.fName.setText(name);  
        holder.fImageButton.setImageResource(R.drawable.ic_cloud_download); 
    }

1 个答案:

答案 0 :(得分:0)

  1. 为您的布局中的CardView提供ID。

  2. 在您的findViewById()中进行ViewHolder通话。

  3. 在您的{{1}中的onBindViewHolder中,将RecyclerView.Adapter设置为OnClickListener

  4. 在此CardView的{​​{1}}中,将图像设置为ImageView。

    //如果从列表中加载图像 Glide.with(context).load(list.get(position).getImageUrl())。into(holder.imageView);

    //如果只想从可绘制对象中设置图像 holder.imageView.setImageResource(context.getResources()。getDrawable(R.drawable.icon));

无法正确格式化上述内容,因为编辑器因某些原因而被我搞错了

欢迎进行修改。