另建一个类继承RecyclerView.Adapter
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder>{
Context context;RecyData rd;
OnItemClickListener listener;
public MyAdapter(Context context, RecyData rd) {
this.context = context;
this.rd = rd;
}
public interface OnItemClickListener{
public void OnItemClick(int positon);
}
public void setOnItemClickListener(OnItemClickListener listener){
this.listener=listener;
}
@Override
public MyAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view=View.inflate(context, R.layout.recy_item,null);
ViewHolder holder=new ViewHolder(view);
view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(listener!=null){
listener.OnItemClick((Integer) view.getTag());
}
}
});
return holder;
}
@Override
public void onBindViewHolder(MyAdapter.ViewHolder holder, int position) {
holder.recy_tv.setText(rd.getSong_list().get(position).getTitle());
holder.recy_tv1.setText(rd.getSong_list().get(position).getAuthor());
//Glide加载图片
holder.itemView.setTag(position);
}
@Override
public int getItemCount() {
return rd==null?0:rd.getSong_list().size();
}
public class ViewHolder extends RecyclerView.ViewHolder{
ImageView imag;
TextView recy_tv,recy_tv1;
public ViewHolder(View itemView) {
super(itemView);
imag= itemView.findViewById(R.id.recy_imageView);
recy_tv= itemView.findViewById(R.id.recy_tv);
recy_tv1= itemView.findViewById(R.id.recy_tv1);
}
}
}