在OnBindViewHolder上有两个位置

时间:2016-07-21 08:18:40

标签: android android-recyclerview retrofit

我想在我的应用中的一列中拍两张照片。我使用了RecyclerView并且必须使用位置,但是当我尝试从API中下载图片时,我在第一列图片中有1张图片2但在另一列中我有piture 2和图片3。在不同的列中,我有相同的last和first元素,如何更改此行为?

@Override
    public void onBindViewHolder(PhotoViewHolder holder, int position) {
        Uri image_uri_one = Uri.parse(call.get(position).getImage_url());
        Context context = holder.photo_one.getContext();
        Picasso.with(context).load(image_uri_one).into(holder.photo_one);
        Uri image_uri_two = Uri.parse(call.get(position+1).getImage_url());
        Context context1 = holder.photo_two.getContext();
        Picasso.with(context1).load(image_uri_two).into(holder.photo_two);
    }

1 个答案:

答案 0 :(得分:0)

对于第一个recyclerview行,你获得了第0号和第0张第0张,第2张是第1张,第2张是第1张和第2张。所以你应该在你之前将int posision多重播放2用它。

这样的事情:

@Override public void onBindViewHolder(PhotoViewHolder holder, int position) { int newPosition = posision*2; Uri image_uri_one = Uri.parse(call.get(newPosition).getImage_url()); Context context = holder.photo_one.getContext(); Picasso.with(context).load(image_uri_one).into(holder.photo_one); Uri image_uri_two = Uri.parse(call.get(newPosition+1).getImage_url()); Context context1 = holder.photo_two.getContext(); Picasso.with(context1).load(image_uri_two).into(holder.photo_two); }