我有一个应用程序,作为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);
}
答案 0 :(得分:0)
为您的布局中的CardView
提供ID。
在您的findViewById()
中进行ViewHolder
通话。
在您的{{1}中的onBindViewHolder
中,将RecyclerView.Adapter
设置为OnClickListener
。
在此CardView
的{{1}}中,将图像设置为ImageView。
//如果从列表中加载图像 Glide.with(context).load(list.get(position).getImageUrl())。into(holder.imageView);
//如果只想从可绘制对象中设置图像 holder.imageView.setImageResource(context.getResources()。getDrawable(R.drawable.icon));
我无法正确格式化上述内容,因为编辑器因某些原因而被我搞错了。
欢迎进行修改。