版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Lemon_husky/article/details/82784034
public abstract class BaseRecyclerAdapter<VH extends BaseRecyclerViewHolder> extends RecyclerView.Adapter<BaseRecyclerViewHolder> {
private final String TAG = BaseRecyclerAdapter.class.getSimpleName();
private OnItemClickListener onItemClickListener;
public void setOnItemClickListener(OnItemClickListener onItemClickListener) {
this.onItemClickListener = onItemClickListener;
}
// 在onBindViewHolder中调用
protected <VH extends BaseRecyclerViewHolder> void bindOnItemClickListener(VH holder, final int position) {
if (onItemClickListener != null) {
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onItemClickListener.OnItemClick(position, v);
}
});
holder.itemView.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
return onItemClickListener.OnItemLongClick(position, v);
}
});
}
}
/**
* 设置监听
* @param holder
* @param position
* @param longClick 是否绑定长按监听
* @param <VH>
*/
protected <VH extends BaseRecyclerViewHolder> void bindOnItemClickListener(VH holder, final int position, boolean longClick) {
if (onItemClickListener != null) {
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onItemClickListener.OnItemClick(position, v);
}
});
if (longClick) {
holder.itemView.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
return onItemClickListener.OnItemLongClick(position, v);
}
});
}
}
}
}