最终目的
模拟ListView的setOnItemClickListener()方法,调用者只须调用类似于setOnItemClickListener的东西就能获得被点击item的相关数据。
原理
为RecyclerView的每个子item设置setOnClickListener,然后在onClick中再调用一次对外封装的接口,将这个事件传递给外面的调用者。而“为RecyclerView的每个子item设置setOnClickListener”在Adapter中设置。其实直接在onClick中也能完全处理item的点击事件,但是这样会破坏代码的逻辑。
步骤
1、在MyAdapter中定义接口
public interface OnItemClickListener{
void onItemClick(int position);
}
2、声明这个接口变量
private OnItemClickListener mItemClickListener;
3、在onCreateViewHolder()中为每个item添加点击事件
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent<