【发布时间】:2016-10-17 16:10:20
【问题描述】:
所以问题是只为 imageButton 而不是 while itemView 调用 onClick。这是我的 ViewHolder 类
public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener{
protected TextView title;
protected TextView rank;
protected ImageView image;
protected ImageButton share;
public ViewHolder(View itemView) {
super(itemView);
title = (TextView) itemView.findViewById(R.id.main_title);
rank = (TextView) itemView.findViewById(R.id.rank_text);
image = (ImageView) itemView.findViewById(R.id.main_image);
share = (ImageButton) itemView.findViewById(R.id.main_share);
share.setOnClickListener(this);
itemView.setOnClickListener(this);
}
@Override
public void onClick(View v) {
Log.d("click", "clicked at" + getAdapterPosition());
}
}
更新:
因为我在我的 recycleview 中使用了 cardviews,所以我最终将我的 viewholder 代码更改为这个
public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener{
protected TextView title;
protected TextView rank;
protected ImageView image;
protected ImageButton share;
protected CardView cardView;
public ViewHolder(View itemView) {
super(itemView);
title = (TextView) itemView.findViewById(R.id.main_title);
rank = (TextView) itemView.findViewById(R.id.rank_text);
image = (ImageView) itemView.findViewById(R.id.main_image);
share = (ImageButton) itemView.findViewById(R.id.main_share);
cardView = (CardView) itemView.findViewById(R.id.main_card_view);
share.setOnClickListener(this);
cardView.setOnClickListener(this);
}
@Override
public void onClick(View v) {
Log.d("test", "test" + getAdapterPosition());
}
}
它有效
【问题讨论】:
-
@Garrett 请关注以上网址
标签: android