RecylerView的item点击事件
为每个itemview设置监听事件
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
ViewHolder viewHolder = new ViewHolder(view);
viewHolder.itemView.setOnClickListener(this);
return viewHolder;
}
return null;
}
为每个itemview setTag
@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
holder.itemView.setTag(position);
}
点击view的时候回调position
@Override
public void onClick(View v) {
if (mOnItemClickListener != null) {
//注意这里使用getTag方法获取position
mOnItemClickListener.onItemClick(v,(int)v.getTag());
}
}
定义一个给调用者的方法
private OnItemClickListener mOnItemClickListener = null;
public void setOnItemClickListener(OnItemClickListener listener) {
this.mOnItemClickListener = listener;
}
设置适配器时调用方法
id_ry2.setAdapter(mv);
mv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(View view, int position) {
Log.e("onItemClick","======position:"+position);
}
});