Android RecyclerView适配器的基本工作流程

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.onBindViewHolder
调用ViewHolder中的bind方法

public void onBindViewHolder(NumberViewHolder holder, int position) 
    {
            Log.d(TAG, "#" + position);
            holder.bind(position);
        }

3.getItemCount

  public int getItemCount() {
        return mNumberItems;
    }
  *此方法返回要显示的项目数。 它被系统后台使用
  *帮助布局。
 *
  * @return我们的预测中可用的项目数

=============================================================================
ViewHolder部分
用于实例化Item,在构造方法中创建。

============================================================================
最后一步,需要我们在Acitivity中进行最后的操作

1.实例化RecyclerView,Adapter
2.为RecyclerView设置布局管理器
3.将适配器绑定到RecyclerView
4.UI优化

`
setHasFixedSize(true);

你可能感兴趣的:(android)