Estoy tratando de recrear ListView
(y AbsListView
) lógica, con vista de reciclaje. Necesito esto, pero podemos decir que es solo para entender la lógica de Android.Solo relayout hijos y no todo el árbol
Supongamos que los elementos de mis hijos son los mismos (misma disposición), utilizando una altura fija de RelativeLayout
.
Durante el desplazamiento, estoy reutilizando la vista de niños fantasma y establezco propiedades para el elemento actual. Está funcionando bien, ya que estoy usando View.offsetTopAndBottom()
y invalidate()
en lugar de solicitar el diseño durante el desplazamiento para la optimización.
Mi problema es actualizar a los niños (RelativeLayout
).
Dependiendo del elemento, quiero ocultar u mostrar ImageView
en este artículo. Para eso, solo estoy usando iconImage.setVisibility(GONE)
y iconImage.setVisibility(VISIBLE)
.
Dado que estoy bloqueando requestLayout
, parece ser setVisibility()
no funciona correctamente.
Si utilizo requestLayout
, todo el árbol medirá y se distribuirá por sí mismo, y no es una buena forma de desplazarse por la experiencia del usuario.
¿Hay alguna manera de solo solicitar el diseño en el artículo reciclado?