将ImageView添加到RecyclerView项目布局

时间:2016-04-02 15:54:46

标签: android android-recyclerview android-imageview

我有一个RecyclerView项目,有时候最多可以显示三个图标。 目前我只是动态地将ImageViews添加到onBind metod中的布局中,但有时会将ImageViews添加到错误的项目中。 关于加载图片的问题,我已经阅读了其他一些问题,这样做的最佳方法是什么?

3 个答案:

答案 0 :(得分:0)

在custom_row.xml或您命名的任何内容中定义三个ImageVies。设置换行内容的宽度和center_horizo​​ntal上的gravitiy,这样就可以很好地显示出来。 在onBindViewHolder(ItemViewHolder ivHolder, int position)中,您必须执行以下操作: 根据当前位置,您可以在GONEVISIBLE上设置1,2或3个imageview-visibilities。因此图像将始终以水平为中心。 然后用图像填充图像视图。我想是的。它对我有用。

不要忘记在ItemViewHolder构造函数中定义3个图像视图。

答案 1 :(得分:0)

ViewHolder可以从另一个位置回收,因此如果你在onBindViewHolder中添加视图,它需要添加或删除(如果存在)它们对位置的依赖。

答案 2 :(得分:0)

这是一个常见问题,因为您需要同步对持有者的访问权限。 有一些非常好的库来处理这个以及其他的位图缓存,重用,池化的情况。

您可以将glide用于本地和网络图片:

   Glide.with(context).load(items.get(i).getImage()).into(viewHolder.image);

或仅用于网络图像Volley或jus切换到他们的NetworkImageView小部件然后在适配器中:

image.setImageUrl(items.get(i).getImage(), imageLoader);

这些可能会使用不同的方法,但他们都知道该怎么做。