android 控件 recyvlerView添加item点击事件

1,定义一个接口

public interface OnRecyclerViewItemClickListener {
    void onItemClick(int position);
}

2,在MyAdapter创建引用

private OnRecyclerViewItemClickListener onItemClickListener;

3,adapter的对外接口

public void setOnItemClickListener(OnRecyclerViewItemClickListener onItemClickListener){
        this.onItemClickListener = onItemClickListener;
    }

4,在onBindViewHolder里面给view设置点击事件

@Override
    public void onBindViewHolder(CommorateView holder, int position) {
        holder.setOnItemClickListener(onItemClickListener);
        holder.itemView.setTag(position);
    }
因为上面是在itemview设置的点击时间,那么就需要在recycler.view中设置点击事件

1,在recycler.view 中设置引用

OnRecyclerViewItemClickListener onItemClickListener;
2,设置提供给recycler.adapter调用的方法

 public void setOnItemClickListener(OnRecyclerViewItemClickListener onItemClickListener){
            this.onItemClickListener = onItemClickListener;
        }
3,在recycler.view构造函数中设置点击事件

public ItemView(View itemView) {
            super(itemView);
            itemView.setOnClickListener(this);
        }
4,实现onclick

@Override
        public void onClick(View v) {
            if(onItemClickListener != null){
                int position = (int) v.getTag();
                onItemClickListener.onItemClick(position);
            }
        }





猜你喜欢

转载自blog.csdn.net/l331258747/article/details/53033142