RecyclerView添加点击事件

有关RecyclerView的用法

Android滚动组件RecyclerView 的用法

RecyclerView添加点击监听第一种方法:

在自定义的Adapter中的,onBindViewHolder方法中设置

    @Override
    public void onBindViewHolder(LinearViewHolder holder, int position) {
        //将条目信息设置上
        Student stu = (Student) mList.get(position);
        holder.idTv.setText(""+stu.getId());
        holder.nameTv.setText(stu.getName());
        //添加点击监听事件
        holder.itemView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(mContext, "我被点击了", Toast.LENGTH_SHORT).show();
            }
        });
    }

第二种方法:通过回调

在自定义的Adapter中创建一个接口

//然后声明 private OnItemClickListener listener;
//然后创建构造函数,传入一个listener
//然后在onBindViewHolder方法中将postion传入进去,如下
/*
holder.itemView.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        listener.onClick(position);
    }
});
*/
//然后再外面,参数中传入new ..
public interface OnItemClickListener{

    void onClick(int pos);

}
  recyclerView.setAdapter(new LinearAdapter(this, ls,
                new LinearAdapter.OnItemClickListener() {
                    @Override
                    public void onClick(int pos) {
                        Toast.makeText(RecyclerActivity.this, "点击了"+pos, 
                             Toast.LENGTH_SHORT).show();
                    }
                }));

猜你喜欢

转载自blog.csdn.net/wx_lanyu/article/details/83968827