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/83927497
今日推荐