Desplazamiento en listview con altura de celda diferente

Tengo un listview y sus filas tienen diferentes alturas.

Cuando me desplazo hacia arriba, las filas parecen moverse hacia arriba o hacia abajo de forma errática.
(No encuentro el comportamiento cuando me desplazo hacia abajo)

Sospecho que es debido al hecho

  1. ListView selecciona una de las filas usadas
  2. La fila se coloca en la parte superior de las filas visibles.
  3. ListView cambia la altura de la fila (aquí movimiento errático)

Pero es una suposición.

Intenté googling puesto que éste debe ser un problema común pero no podría encontrar ninguno.

En este caso, el ajuste de la altura del elemento correcto hizo el truco:

¿Cómo establecer alturas diferentes para cada fila en un ListView?

Editar: oh, y asegúrese de reciclar los elementos correctamente:

ListView reutiliza las vistas cuando … No quiero que

  • ¿Cómo recuperar la cadena clicada de un listview usando OnItemClick?
  • Cómo crear listview onItemclicklistener
  • Centrado vertical en RelativeLayout anidado dentro de un ListView
  • ArrayAdapter filtrado de valores que muestra elementos erróneos
  • Enumera el alineamiento de elementos con Recycler View
  • Android checkable listview
  • ListView personalizado cuando se desplaza cambia aleatoriamente el texto del botón o edittext
  • Adaptador de ListView personalizado lanza UnsupportedOperationException
  • Problemas de procesamiento Excepción generada durante la renderización: las matrices de color y posición deben tener la misma longitud
  • Agrupar filas similares en listview en función de su contenido
  • Se ha intentado finalizar un evento de entrada pero el receptor de eventos de entrada ya se ha eliminado
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.