ListView con diferentes elementos y ViewHolders que conducen a ClassCastException

Tengo un ListView y debe tener cuatro tipos diferentes de artículos. Lo busqué, encontré diferentes soluciones que esto es posible y traté de hacer mis cosas al igual que las otras personas. He creado diferentes ViewHolders (uno para cada tipo). Cuando aparece ListView por primera vez todo está bien. Pero cuando empiezo a desplazarse consigo un classCastException. La razón es bastante obvia:

holder = (FeedViewHolder) convertView.getTag(); 

Mi adaptador intenta obtener el ViewHolder obteniendo la etiqueta del convertView si no es null. Sin embargo, este ViewHolder parece ser el ViewHolder del elemento anterior por lo que no puede ser fundido.

Busco StackOverflow y Google pero todos los ejemplos parecen trabajar mientras que utilizan el mismo o bastante iguales ViewHolders para sus diversos artículos. Pero mis objetos realmente difieren entre sí y necesitan diferentes ViewHolders. ¿Puede alguien ayudarme a resolver esto?

Ok un colega me ayudó: no había implementado el método getViewTypeCount. Eso fue todo. El sistema Android no sabía que había diferentes tipos de vista porque no los había definido. Gracias de todos modos a dmaxi!

Defina los tipos de vista de elementos para ListView y genere ViewHolder basándose en el tipo de vista real como muestra el código en esta respuesta: Creación de ViewHolders para ListViews con diferentes diseños de elementos

  • Desactivar la pantalla en android
  • Que es mejor añadir bandera o conjunto de bandera ver pantalla completa y pantalla en
  • Después de la rotación de la pantalla, se cambiará el idioma de mi aplicación
  • ¿Evita que la orientación de Live Wallpaper cambie cuando se abre una aplicación y se cambia la orientación?
  • Mantener la pantalla activada en Actividad - no funciona con FLAG_KEEP_SCREEN_ON
  • Android y el soporte de múltiples diseños de pantallas
  • Tamaño de pantalla en Samsung Tablet 10.1
  • Compartición de pantallas y visualizador tem en android to android
  • Menú contextual y dispositivos con pantalla táctil
  • ¿Cómo rastreo la "pantalla en" el tiempo en Android?
  • Force FullScreen en EditText en Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.