楼主需要注意的点主要是我在图片中箭头指向的这几处,因为你的命名和系统的ViewHolder重名了,所以建议楼主检查下你的onCreateViewHolder中定义的返回值类型是系统的(RecyclerView.ViewHolder)还是你自己创建的(ListAdapter.ViewHolder)。
楼主这个错误产生的根本原因应该是这行代码有误:
public class ListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> 这是正确的写法。
我几乎可以肯定,楼主是这么写的public class ListAdapter extends RecyclerView.Adapter<ViewHolder>,这就导致你的onCreateViewHolder方法的返回值类型变成了自己定义的ViewHolder类型,而不是RecyclerView.ViewHolder类型,导致报类型不匹配的错误。
另外,建议楼主注意命名规范,最好不要和系统的命名重复,起名时也尽量根据语义命名,避免ViewHolder1、ViewHolder2这类命名的出现,就不会出现这种重名错误了~