RecyclerView是一个高级的SrollView,我以前是这么理解的,准确的来说它是ListView的plus版。
(源代码来自优达学城练习题+作者手写)
和ListView一样少不了适配器,并且要在适配器中实现ViewHolder,item的View对象将在这里(ViewGroup)实例化。
*适配器需要重写三个方法*
1.onCreateViewHolder
创建ViewHolder,指定一个将被填充的ViewGroup,和int类型参数来说明layout的种类.
public NumberViewHolder onCreateViewHolder(ViewGroup viewGroup, int viewType) {
Context context = viewGroup.getContext();//用于创建填充器
int layoutIdForListItem = R.layout.number_list_item;//获得Item的ID
LayoutInflater inflater = LayoutInflater.from(context);//创建填充器
boolean shouldAttachToParentImmediately = false;
//通过填充器创建View对象,(子类的id,父类对象,)
View view = inflater.inflate(layoutIdForListItem, viewGroup, shouldAttachToParentImmediately);
NumberViewHolder viewHolder = new NumberViewHolder(view);
return viewHolder;
}
2.onBindViewHolde