📅  最后修改于: 2023-12-03 14:39:07.828000             🧑  作者: Mango
RecyclerView 是 Android 中用于展示大量数据的高效组件,它能够实现很多一般的列表用例,如通讯录、提醒事项等等。其中,一个常见的用例就是通过网络请求获取数据的图片列表,并在 RecyclerView 中进行展示。以下是实现这一功能的步骤:
下面是实现以上步骤的代码片段:
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.MyViewHolder> {
private String[] imageUrlList;
public MyAdapter(String[] imageUrlList) {
this.imageUrlList = imageUrlList;
}
public static class MyViewHolder extends RecyclerView.ViewHolder {
public ImageView imageView;
public MyViewHolder(View itemView) {
super(itemView);
imageView = itemView.findViewById(R.id.image_view);
}
}
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_layout, parent, false);
return new MyViewHolder(v);
}
@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
String imageUrl = imageUrlList[position];
Context context = holder.imageView.getContext();
Picasso.get()
.load(imageUrl)
.placeholder(R.drawable.placeholder)
.error(R.drawable.error)
.into(holder.imageView);
}
@Override
public int getItemCount() {
return imageUrlList.length;
}
}
注意:在代码片段中,使用了 Picasso 异步图片加载库来加载图片,如果您想使用 Glide 异步图片加载库,请替换上述片段中的 Picass 相关代码。同时,您也需要在应用程序的 Build.gradle 文件中添加 Picasso 或 Glide 库的依赖。