目录
1.写一个继承于RecyclerView.ViewHolder的类。
2.写一个继承RecyclerView.Adapter的适配器
1.写一个继承于RecyclerView.ViewHolder的类。
它可以接收一个 itemView 作为参数。在构造方法中,创建一个变量来引用 TextView,然后将它指向表项布局里对应的视图。然后自定义 bindDateToView() 函数,将数据和UI关联起来。
class MyViewHolder extends RecyclerView.ViewHolder {
public TextView textview;
public MyViewHolder(@NonNull View itemView) {
super(itemView);
textview= (TextView) itemView.findViewById(R.id.textview);
}
public void bindDateToView(String s){
textview.setText(s);
}
}
2.写一个继承RecyclerView.Adapter的适配器
重写 onCreateViewHolder()。在该方法里进行初始化和填充 RecyclerView
中的表项视图。
//创建每一行的View 用RecyclerView.ViewHolder包装
@NonNull
@Override
public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View itemView=inflater.inflate(R.layout.recycler_item,null);
return new MyViewHolder(itemView);
}
重写 onBindViewHolder()。在onBindViewHolder()
被调用的时候,会传入参数 ViewHolder
和一个位置 (position),在这个方法中将数据传递给 ViewHolder的bindDateToView方法,来使数据绑定到对应的 UI。
//每一行的View填充数据
@Override
public void onBindViewHolder(@NonNull MyViewHolder holder, int position) {
holder.bindDateToView(datas.get(position));
}
重写 getItemCount(),RecyclerView 显示一个列表,所以它需要知道列表里共有多少项,因此返回数据源的长度。
//数据的数量
@Override
public int getItemCount() {
return datas.size();
}
3.布局
<androidx.recyclerview.widget.RecyclerView
androi