给recyclerAdapter打造通用点击事件监听设置BaseRecyclerAdapter
16lz
2021-01-26
public abstract class BaseRecyclerAdapter extends RecyclerView.Adapter { private final String TAG = BaseRecyclerAdapter.class.getSimpleName(); private OnItemClickListener onItemClickListener; public void setOnItemClickListener(OnItemClickListener onItemClickListener) { this.onItemClickListener = onItemClickListener; } // 在onBindViewHolder中调用 protected 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 */ protected 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); } }); } } }}
更多相关文章
- Android轮播广告条NoticeView
- AS:Android数据回传(简单实例源代码)
- Android之setOnClickListener()
- Android(安卓)简单调用摄像头
- Android与HTML5交互模版
- android srcollview按钮顶部停留
- Android中管理监听
- Android(安卓)TextView首行缩进
- Android(安卓)软键盘弹出与关闭监听