Это мой код
Когда я прокручиваю вверх и вниз, изображения добавляются и в другую позицию, даже в этой позиции путь изображения не существует. предположим, что изображения пути находятся в 1,2 и в 3 положении, но он также показывает изображение на 4,10,15 позиции и т.д., когда я прокручиваю вниз в Recyclerview, не работает должным образом
public class Contact_Adapter_RecyeckView extends
RecyclerView.Adapter<Contact_Adapter_RecyeckView.ViewHolder> {
private ArrayList<ContactBean> arraylist;
private Context context;
public Contact_Adapter_RecyeckView(Context context,
ArrayList<ContactBean> arrayListImages) {
this.arraylist = arrayListImages;
this.context = context;
}
// Create new views (invoked by the layout manager)
@Override
public Contact_Adapter_RecyeckView.ViewHolder onCreateViewHolder(
ViewGroup parent, int viewType) {
// create a new view
View itemLayoutView = LayoutInflater.from(parent.getContext()).inflate(
R.layout.contact_adapter_recycleview, null);
// create ViewHolder
ViewHolder viewHolder = new ViewHolder(itemLayoutView);
return viewHolder;
}
// Replace the contents of a view (invoked by the layout manager)
@Override
public void onBindViewHolder(ViewHolder viewHolder, int pos) {
String image = arraylist.get(pos).getImage();
File imgFile = new File(image);
if(imgFile.exists())
{
viewHolder.ivProfile.setImageURI(Uri.fromFile(imgFile));
}
//viewHolder.ivProfile.setImageBitmap(BitmapFactory.decodeFile(arraylist.get(pos).getImage()));
//viewHolder.ivProfile.setVisibility(View.VISIBLE);
// inner class to hold a reference to each item of RecyclerView
public static class ViewHolder extends RecyclerView.ViewHolder {
public ImageView ivProfile;
public View view;
public CardView cardview;
public ViewHolder(View itemLayoutView) {
super(itemLayoutView);
ivProfile = (ImageView) itemLayoutView
.findViewById(R.id.iv_user_profile);
}
}
// Return the size of your itemsData (invoked by the layout manager)
@Override
public int getItemCount() {
return arraylist.size();
}}
Я видел это ссылки тоже некоторые другие тоже, но все-таки проблема в том жеscroll when change не смог найти
Может быть, потому что 'imgFile.exists()' 'возвратного false', попробуйте установить изображение по умолчанию в блоке еще. – Rami
переменная изображения содержит пробел, если путь изображения отсутствует – tarun
Вам нужно сбросить изображение по умолчанию (пустое изображение) в блоке else, иначе механизм рециркуляции будет повторно использовать старый. – Rami