리스너의 할당은 외부에서 넘겨주셔서 뷰홀더에서 바인딩하시면 될 것 같습니다. 아래와 같은 방식으로.
MyAdapter adapter = new MyAdapter();
adapter.setItemOnClickListener(...)
adapter.setAnotherItemOnClickListner(...)
class MyAdapter extends RecyclerView.Adapter {
private View.OnClickListener itemOnClickListener;
private View.OnClickListener anotherItemOnClickListner;
public void setItemOnClickListener(View.OnClickListener listener) {
this.itemOnClickListener = listener;
}
public void setAnotherItemOnClickListner(View.OnClickListener listener) {
this.anotherItemOnClickListner = listener;
}
public void onBindViewHolder(ViewHolder vh, int position ) {
vh.setItemOnClickListener(this.itemOnClickListener);
vh.setAnotherItemOnClickListner(this.anotherItemOnClickListner);
}
}