Los resultados de RecyclerView + Glide resultan en un lío

Estoy usando recyclerView y Glide para implementar una galería horizontal, y aquí está el código principal:

@Override public void onBindViewHolder(ViewHolder holder, final int position) { if (mListener != null) { holder.mImageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mListener.onListItemClick(v, position); } }); } Firmware.VideoModel videoModel = mDataList.get(position); String url = videoModel.getPreurl(); if (position == 0) { holder.mImageView.setPadding(mCtx.getResources().getDimensionPixelOffset(R.dimen.activity_horizontal_margin) - mCtx.getResources().getDimensionPixelOffset(R.dimen.image_margin), holder.mImageView.getPaddingTop(), holder.mImageView.getPaddingRight(), holder.mImageView.getPaddingBottom()); } else if (mDataList != null && position == mDataList.size() - 1) { holder.mImageView.setPadding(holder.mImageView.getPaddingLeft(), holder.mImageView.getPaddingTop(), mCtx.getResources().getDimensionPixelOffset(R.dimen.activity_horizontal_margin), holder.mImageView.getPaddingBottom()); } if (mDataList != null && mDataList.size() >= 0) { Glide.with(mCtx).load(url).placeholder(R.drawable.image_placeholder).error(R.drawable.image_placeholder).into(holder.mImageView); if (videoModel.isVideo()) { holder.mImageButton.setVisibility(View.VISIBLE); } else { holder.mImageButton.setVisibility(View.GONE); } } } 

Intenté establecer un relleno de espacio en la primera y la última imagen para que pueda desplazar todas las imágenes al borde de la pantalla, al igual que Google Play.

Tristemente aquí está el problema:

Como recyclerView reciclarás las vistas que no están en el área visible, los rellenos que pongo estarán en un lío mientras desplazo este recicladorVer izquierda y derecha. El relleno se añadirá a la segunda, incluso a la tercera o cualquier otra imagen si se recicla la vista de la posición …

He stackoverflowd la respuesta, uno de ellos es llamar:

 holder.setIsRecyclable(false) 

Esto realmente funciona. Pero eso no tiene sentido usar un derecho de RecyclerView? Así que espero que alguien me pueda ayudar. Gracias.

No debe cambiar el relleno de forma dinámica en lugar de utilizar varios tipos distintos de ViewHolders (con diferentes diseños) o LayoutManager personalizado para sus necesidades.

  • Siempre se desvanecen en el marcador de posición con Picasso
  • No se puede cargar la imagen de url utilizando picasso
  • Dibujar la imagen redondeada con fondo blanco utilizando Picasso
  • UIL, Picasso - Las imágenes en adaptador siempre se recargan cuando se detiene el desplazamiento
  • Cargas de Picasso en la imagen errónea cuando se utiliza patrón titular de la vista
  • Picasso problema de extracción de imágenes cuando se utiliza con RecyclerView
  • Picasso + convertView: ¿qué estoy haciendo mal aquí?
  • Android picasso, razón de error
  • Picasso no puede decodificar algunas imágenes: skia decode devuelto false
  • Picasso no puede cargar imágenes grandes (de la cámara y Uri local)
  • Escala de tamaño de la imagen en Picasso
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.