在我的应用程序中,我想将图像显示到 RecyclerView
Adapter 中。
我写了下面的代码,但没有在 ImageView 中显示任何图像。
我的适配器代码:
public class DetailMiniGalleryAdapter extends RecyclerView.Adapter<DetailMiniGalleryAdapter.ViewHolder> {
private List<String> model;
private Context context;
public DetailMiniGalleryAdapter(Context context, List<String> model) {
this.context = context;
this.model = model;
}
@Override
public DetailMiniGalleryAdapter.ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.list_row_detail_mini_gallery, viewGroup, false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(DetailMiniGalleryAdapter.ViewHolder viewHolder, int i) {
Glide.with(context)
.load(Constants.SERVER + model)
.diskCacheStrategy(DiskCacheStrategy.SOURCE)
.into(viewHolder.listRow_detailMiniGalleryImg);
Log.e("galleryImages", model+"");
}
@Override
public int getItemCount() {
return model.size();
}
public class ViewHolder extends RecyclerView.ViewHolder {
private ImageView listRow_detailMiniGalleryImg;
public ViewHolder(View view) {
super(view);
listRow_detailMiniGalleryImg = view.findViewById(R.id.listRow_detailMiniGalleryImg);
}
}
}
LogCat 中的我的图像网址:
/galleryImages: [/img/ps/1.png, /img/ps/2.png, /img/ps/3.png, /img/ps/4.png, /img/ps/5.png]
我在 mainActivity 中使用此代码填充适配器:
miniGalleryAdapter = new DetailMiniGalleryAdapter(getActivity(), detail.getImage());
但是当使用此代码时: .load(Constants.SERVER + model.get(0))
显示图像,但只显示 1image!我想显示所有图像。
我怎样才能做到?
最佳答案
不要直接在 load 中使用 model
,而是使用 model.get(i)
Glide.with(context)
.load(Constants.SERVER + model.get(i)) //< i is position of item
.diskCacheStrategy(DiskCacheStrategy.SOURCE)
.into(viewHolder.listRow_detailMiniGalleryImg);
关于java - 如何在 Android 上将 List<String> 设置为 ImageView 的 RecyclerView 适配器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49106437/