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();
}
});