当前位置:   article > 正文

Android RecyclerView适配器的基本工作流程_android recyclerview.onbindviewholder流程

android recyclerview.onbindviewholder流程

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;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

2.onBindViewHolder
调用ViewHolder中的bind方法

public void onBindViewHolder(NumberViewHolder holder, int position) 
    {
            Log.d(TAG, "#" + position);
            holder.bind(position);
        }
  • 1
  • 2
  • 3
  • 4
  • 5

3.getItemCount

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

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

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

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

`
setHasFixedSize(true);

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/250978
推荐阅读
相关标签
  

闽ICP备14008679号