主页面的 RecyclerView.Adapter 应该怎么写
时间: 2023-12-17 10:10:17 浏览: 34
主页面的 RecyclerView.Adapter 是用来管理 RecyclerView 中的数据和视图的。以下是一个示例代码,可以用来作为参考:
```java
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {
private List<MyData> mData;
public MyAdapter(List<MyData> data) {
mData = data;
}
// 创建新的视图(由布局管理器调用)
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.my_item_layout, parent, false);
return new ViewHolder(view);
}
// 替换视图的内容(由布局管理器调用)
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
MyData myData = mData.get(position);
holder.textView.setText(myData.getText());
holder.imageView.setImageResource(myData.getImageResource());
}
// 返回数据集的大小(由布局管理器调用)
@Override
public int getItemCount() {
return mData.size();
}
// 用来存储视图的引用
public static class ViewHolder extends RecyclerView.ViewHolder {
public TextView textView;
public ImageView imageView;
public ViewHolder(View itemView) {
super(itemView);
textView = itemView.findViewById(R.id.my_text_view);
imageView = itemView.findViewById(R.id.my_image_view);
}
}
}
```
其中,`MyData` 表示数据类,包含了需要显示在 RecyclerView 中的数据。`ViewHolder` 用来存储视图的引用,包含了需要更新的控件。`onCreateViewHolder` 方法用来创建新的视图,`onBindViewHolder` 方法用来替换视图的内容,`getItemCount` 方法用来返回数据集的大小。