Проблема при скроле. Вывожу список постов через RecyclerView

 
 
 
Сообщения:1
Проблема при скроле. Вывожу список постов через RecyclerView, и при быстром скроле вниз или вверх, миниатюры постов путаются между собой.

т.е. у первого поста одна картинка, у последнего другая, и при быстром скроле, они могут меняться местами.

Я в этом новичек, может проблема и бональная, но я не нашел решение на страницах гугла.

Вот адаптер:
package pro.shever.storage_t.posts;

/**
 * Created by Anton on 13.01.2018.
 */

//import android.support.v7.widget.CardView;

import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;

import com.squareup.picasso.Picasso;
import java.util.List;
import pro.shever.storage_t.R;

public class RVAdapter extends RecyclerView.Adapter<RVAdapter.PostsViewHolder> {

    Context context;

    public static class PostsViewHolder extends RecyclerView.ViewHolder {

//        CardView cv;
        TextView postsName;
        TextView postsText;
        ImageView postsImage;


        PostsViewHolder(View itemView) {
            super(itemView);
//            cv = (CardView)itemView.findViewById(R.id.cv);
            postsName = (TextView)itemView.findViewById(R.id.name);
            postsText = (TextView)itemView.findViewById(R.id.text);
            postsImage = (ImageView)itemView.findViewById(R.id.image);
        }
    }

    List<Posts> posts;

    RVAdapter(List<Posts> posts){
        this.posts = posts;
    }

    @Override
    public void onAttachedToRecyclerView(RecyclerView recyclerView) {
        super.onAttachedToRecyclerView(recyclerView);
    }

    @Override
    public PostsViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
        View v = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.post_item, viewGroup, false);
        PostsViewHolder pvh = new PostsViewHolder(v);
        return pvh;
    }

    @Override
    public void onBindViewHolder(PostsViewHolder postsViewHolder, int i) {
        postsViewHolder.postsName.setText(posts.get(i).name);
        postsViewHolder.postsText.setText(posts.get(i).text);
        Picasso.with(this.context).load(posts.get(i).image).into(postsViewHolder.postsImage);

    }

    @Override
    public int getItemCount() {
        return posts.size();
    }
}
Изменен:14 янв 2018 14:10
 
 
Сообщения:263
Что у Вас находится в поле "posts.get(i).image"? Если url, то может быть попробовать ставить placeholder из ресурсов на "фото-заглушку", пока изображение не загрузится из интернета.
 
Модераторы:demon_zxBeowulf13thShogun
Сейчас эту тему просматривают:Нет