您的位置:首页 > 移动开发 > Android开发

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

2017-05-15 11:08 453 查看
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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息