在为 recyclerview 创建适配器时,为什么必须附加它用 <[NameOfAdapter].Viewholder> 扩展的 RecyclerView.Adapter?

In creating an adapter for a recyclerview, why one has to append the RecyclerView.Adapter which it extends with <[NameOfAdapter].Viewholder>?

在我搜索如何创建 RecyclerView 的过程中,我遇到了几个 examples,其中 RecyclerView 的适配器创建如下:

public class MyAdapter extends 
RecyclerView.Adapter<MyAdapter.ViewHolder> {
...
}

为什么要在此处添加 <MyAdapter.ViewHolder>?这可能是我认为称为类型参数的东西(例如 List<T>),但在 RecyclerView.Adapter 的文档中我无法找到确实这涉及类型参数的确认.

全名(包括包)是android.support.v7.widget.RecyclerView.Adapter<VH extends android.support.v7.widget.RecyclerView.ViewHolder>。所以 RecyclerView.Adapter 实际上有一个 RecyclerView.ViewHolder 作为类型参数。这用于 onCreateViewHolderonBindViewHolder 方法,以便它们知道它们正在处理哪种 ViewHolder