为什么从不使用 onBindViewHolder 方法?

why method onBindViewHolder is never used?

我修改了onBindViewHolder的参数后,变成了灰色,没有被调用,为什么?这是我的适配器:

public class Myadapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
       private Context context;
       private List<String> lists;
       private OnItemClickListener onItemClickListener;


    public Myadapter(Context context, List<String> lists) {
       this.context = context;
       this.lists = lists;
    }

   public interface OnItemClickListener {
       void onItemClick(View view, int postion);
       void onItemLongClick(View view, int postion);
   }

   public void setOnItemClickListener(OnItemClickListener listener) {
       this.onItemClickListener = listener;
   }

   @Override
   public void onBindViewHolder(final myViewHolder holder, int position) {
       holder.textView.setText(lists.get(position));

       if (onItemClickListener != null) {
        holder.itemView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                int postion = holder.getLayoutPosition();//得到当前点击item的位置postion
                onItemClickListener.onItemClick(holder.itemView, postion);
            }
        });
        holder.itemView.setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View v) {
                int postion = holder.getLayoutPosition();
                onItemClickListener.onItemLongClick(holder.itemView, postion);
                return true;
            }
        });
    }

}

@Override
public int getItemCount() {
    return lists.size();
}

@Override
public myViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {

    View itemView = LayoutInflater.from(context).inflate(R.layout.item,parent,false);
    myViewHolder viewHolder = new myViewHolder(itemView);

    return viewHolder;
}


  public class myViewHolder extends RecyclerView.ViewHolder{
       TextView textView;

       public myViewHolder(View itemView){
           super(itemView);
           textView =(TextView)itemView.findViewById(R.id.text);

       }
   }
}

它说 Myadapter 必须在 "Adapter"

中声明为实现抽象方法 onBindViewHolder(VH,int) 的抽象

由于您尝试将自己的 ViewHolder 用于此适配器,因此在扩展 RecyclerView.Adapter.

时需要将其用作类型

变化:

public class Myadapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {

收件人:

public class Myadapter extends RecyclerView.Adapter<myViewHolder> {