RecyclerView中item的点击事件

RecyclerView中item的点击事件

1.首先可以在Adapter中写一个接口和Activity中回调的方法(同时添加set方法)

public interface OnItemClick{
        void onClick(HelperRecyclerViewHolder viewHolder,Grade item, int position);
    }
    OnItemClick onItemClick;

    public void setOnItemClick(OnItemClick onItemClick) {
        this.onItemClick = onItemClick;
    }

2.得到控件,并添加监听事件
在HelperBindData中

			checkbox = viewHolder.getView(R.id.radio);
            checkbox.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    if(onItemClick!=null){
                        onItemClick.onClick(viewHolder,item,position);
                    }
                }
            });

3.在Activity或Fragment中调用

gradeAdapter.setOnItemClick(new GradeAdapter.OnItemClick() {

            @Override

            public void onClick(HelperRecyclerViewHolder viewHolder,Grade item, int position) {
                if(pp!=-1){
                    view1.setChecked(false );
                }
                CheckBox view = viewHolder.getView(R.id.radio);
                view1=view;
                pp=position;
                Toast.makeText(getContext(),"点击了"+item.getName(),Toast.LENGTH_LONG).show();

            }
        });
发布了20 篇原创文章 · 获赞 13 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/l614223981/article/details/102484530