package com.daya.live_teaching.ui.base;

import android.view.View;

import androidx.recyclerview.widget.RecyclerView;

public abstract class BaseViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener{
 private BaseRecyclerAdapter.OnSubViewClickListener onSubViewClickListener;
 public BaseViewHolder(View itemView) {
  super(itemView);
 }
 
 /**
  * 传入子项点击事件所需参数
  * @param listener 自定义的接口
  * @param tagPosition tag
  */
 public void setSubViewClickListener(BaseRecyclerAdapter.OnSubViewClickListener listener, int tagPosition){
  this.onSubViewClickListener = listener;
  initSubViewClick(tagPosition);
 }
 

 /**
  * 用于装载数据（开发者自行实现）
  * @param position 当前位置
  */
 abstract protected void onBind(int position);
 
 /**
  * 初始化子项的点击事件（为子项设置tag）
  * @param tagPosition tag
  */
 protected void initSubViewClick(int tagPosition){
 
 }
 
 /**
  * 实现子项点击事件的转发
  * @param v
  */
 @Override
 public void onClick(View v) {
  if (v.getTag() != null) {
   int position = (int) v.getTag();
   onSubViewClickListener.onSubViewClick(v,position);
  }
 }
}