1.自定义点击事件的监听
public interface MyItemLongClickListener {
public void onItemLongClick(View v,int position);
}
public interface MyItemClickListener {
public void onItemClick(View v, int position);
}
2.让VIewHolder继承OnClickListener并重写点击事件@Override
public void onClick(View v) {
if (mListener != null) {
mListener.onItemClick(v, (Integer) v.getTag());
}
}
3.让recyclerVIew的适配器继承上面提到的接口MyItemLongClickListener ,并重写里面的方法 @Override
public void onItemClick(View view, int postion) {
view.setTag(1, postion);
}
@Override
public void onItemLongClick(View view, int postion) {
view.setTag(1, postion + "");
}
4.最后在onCreateViewHolder方法中设置每个view的点击事件
view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//定义业务逻辑
}
});
顺便一提,伪recycler view设置多布局需要用到getItemViewType,onCreateViewHolder,onBindViewHolder方法,还有注意设置setLayoutManager