public class MyAdapter extends RecyclerView.Adapter<MyViewHolder> { Context context; List<item> items; public MyAdapter(Context context, List<item> items) { this.context = context; this.items = items; } @NonNull @Override public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { return new MyViewHolder(LayoutInflater.from(context).inflate(R.layout.item_view,parent,false)); } @Override public void onBindViewHolder(@NonNull MyViewHolder holder, int position) { holder.nameView.setText(items.get(position).getName()); holder.opusView.setText(items.get(position).getOpus()); holder.imageView.setImageResource(items.get(position).getImage()); } @Override public int getItemCount() { return items.size(); } }
时间: 2024-01-28 22:03:46 浏览: 131
Android 中RecyclerView多种item布局的写法(头布局+脚布局)
这段代码是一个RecyclerView的数据适配器,用于将数据源中的数据绑定到RecyclerView的每个Item View上。RecyclerView的数据适配器主要是通过实现RecyclerView.Adapter类来实现的,其中MyAdapter是自定义的继承自RecyclerView.Adapter的适配器类。
在MyAdapter中,构造函数中传入了Context和items两个参数,其中Context用于获取LayoutInflater对象,items是数据源。onCreateViewHolder()方法用于创建ViewHolder对象,并且返回ViewHolder实例。onBindViewHolder()方法用于将数据源中的数据绑定到ViewHolder对应的Item View上。getItemCount()方法用于返回数据源中数据的条目数。
在onBindViewHolder()方法中,首先通过holder参数获取到对应的Item View对象,然后通过items.get(position)获取到数据源中的对应数据,并将其显示在Item View的各个控件中。
此外,这段代码中的MyViewHolder是一个自定义的ViewHolder类,用于保存每个Item View的子控件。其中的nameView、opusView和imageView是Item View中的子控件,用于显示对应的数据。
阅读全文