RecyclerView.Adapter代码详细解读
时间: 2023-05-20 18:01:12 浏览: 105
RecyclerView.Adapter 是一个用于管理 RecyclerView 中数据和视图的基类。它有三个主要的方法:onCreateViewHolder、onBindViewHolder 和 getItemCount。
onCreateViewHolder 方法用于创建 ViewHolder 对象,ViewHolder 对象用于保存 RecyclerView 中的视图。onBindViewHolder 方法用于将数据绑定到 ViewHolder 中的视图上。getItemCount 方法用于返回 RecyclerView 中的数据项数量。
在实现 RecyclerView.Adapter 时,我们需要重写这三个方法,并根据实际需求进行相应的处理。此外,我们还可以添加一些其他的方法,例如添加、删除、更新数据等。
下面是一个简单的 RecyclerView.Adapter 实现示例:
```
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {
private List<String> mData;
public MyAdapter(List<String> data) {
mData = data;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_layout, parent, false);
ViewHolder holder = new ViewHolder(view);
return holder;
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
String data = mData.get(position);
holder.mTextView.setText(data);
}
@Override
public int getItemCount() {
return mData.size();
}
public static class ViewHolder extends RecyclerView.ViewHolder {
public TextView mTextView;
public ViewHolder(View itemView) {
super(itemView);
mTextView = (TextView) itemView.findViewById(R.id.text_view);
}
}
}
```
在这个示例中,我们创建了一个 MyAdapter 类,它继承自 RecyclerView.Adapter。在构造函数中,我们传入了一个数据列表 mData。在 onCreateViewHolder 方法中,我们使用 LayoutInflater 创建了一个视图,并将其封装在 ViewHolder 中返回。在 onBindViewHolder 方法中,我们将数据绑定到 ViewHolder 中的视图上。在 getItemCount 方法中,我们返回 mData 的大小。
这是一个简单的 RecyclerView.Adapter 实现示例,实际应用中可能需要更复杂的处理逻辑。
阅读全文