ViewHolder的代码
时间: 2023-07-02 08:08:02 浏览: 91
ViewHolder的应用
ViewHolder 是在 Android 中常用的设计模式之一,用于优化 ListView 和 RecyclerView 的性能。
ViewHolder 是一个静态内部类,它持有每个列表项的视图元素,避免了每次滚动列表时都要重新查找视图元素的开销。
以下是一个 ViewHolder 的示例代码:
```java
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.MyViewHolder> {
private List<String> mDataList;
public static class MyViewHolder extends RecyclerView.ViewHolder {
public TextView mTextView;
public MyViewHolder(View itemView) {
super(itemView);
mTextView = itemView.findViewById(R.id.text_view);
}
}
public MyAdapter(List<String> dataList) {
mDataList = dataList;
}
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.list_item, parent, false);
return new MyViewHolder(view);
}
@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
String data = mDataList.get(position);
holder.mTextView.setText(data);
}
@Override
public int getItemCount() {
return mDataList.size();
}
}
```
在上面的代码中,MyViewHolder 是 MyAdapter 的静态内部类,它持有列表项的 TextView,这样在 onBindViewHolder 方法中就可以直接使用 ViewHolder 中的视图元素,而不需要每次都去查找。同时,ViewHolder 中的构造函数也会在 onCreateViewHolder 方法中被调用,用于初始化 ViewHolder 中的视图元素。
阅读全文