Recyclerview - cardview onclick изменить изображение? - PullRequest
1 голос
/ 05 июня 2019

У меня есть приложение, которое в качестве Recyclerview -> Cardview, в cardvie у меня есть текст и изображение, и я пытаюсь сделать это, нажав изображение карты;

это код, который обрабатывает щелчок для просмотра карты; Есть ли способ изменить IMG по клику, в программе recyclerview имеется около 20 просмотров карт.

Активность

   @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 голосов
/ 05 июня 2019
  1. Дайте идентификатор вашему CardView в вашем макете.

  2. Сделайте findViewById() звонок в вашем ViewHolder.

  3. В onBindViewHolder вашего RecyclerView.Adapter установите OnClickListener на CardView.

  4. В onClick(View v) этого CardView установите изображение в ImageView.

    // Если вы загружаете изображение из списка Glide.with (контекст) .load (list.get (позиция) .getImageUrl ()) в (holder.imageView);.

    // Если вы просто хотите установить изображение из ваших рисунков holder.imageView.setImageResource (. context.getResources () getDrawable (R.drawable.icon));

Я не могу правильно отформатировать вышеприведенного материала, потому что редактор для меня глючит по некоторым причинам.

Редактирование приветствуется.

...