Android Recyclerview Layoutmanager's onLayoutChildren llamado cuando se cambia el contenido del elemento

Tengo una vista de reciclador con el administrador de diseño personalizado (es un administrador de diseño twowayview staggeredgridview https://github.com/lucasr/twoway-view/blob/master/layouts/src/main/java/org/lucasr/twowayview/widget/ StaggeredGridLayoutManager.java )

Estoy utilizando esto para mostrar la lista de imágenes. Estas imágenes se cargan asincrónicamente, es decir, cuando los elementos se vuelven activos, i decodificar datos de imagen y luego cargar ese mapa de bits en estas vistas de elementos de lista.

ahora, el problema es siempre que el bitmap de la imagen fijada en el viewview de un artículo, hace onLayoutChildren ser llamado en el encargado de la disposición, que entonces pone de nuevo a todos los niños otra vez.

¿Se trata de un comportamiento esperado? es decir, cambiar el contenido del elemento hijo (aquí, imageview) hace que el padre reciclerview emita un onLayoutChildren en su layoutmanager?

si no, entonces ¿cómo puedo evitar esto?

Gracias,

Sí, así funciona el sistema de disposición. Si un niño solicita un diseño, se llamará a todos los padres de su onLayout.

Si su vista no cambia el tamaño cuando llega el nuevo mapa de bits, puede manejarlo escribiendo una vista personalizada que amplíe su vista e impida llamadas requestLayout . Busque eatRequestLayout en el código fuente de RecyclerView para obtener una idea acerca de cómo hacerlo.

  • ¿Cómo crear RecyclerView con múltiples tipos de vista?
  • CardView layout_width = "match_parent" no coincide con el ancho de RecyclerView padre
  • Desplazar RecyclerView para mostrar el elemento seleccionado en la parte superior
  • Decoración de artículos Proguard y RecyclerView
  • Error: El hijo especificado ya tiene un padre. Debe llamar a removeView () en el padre del niño primero
  • Cómo guardar la posición de desplazamiento de RecyclerView en Android?
  • Cómo abrir fragmento de RecyclerView.Adapter <CardAdapter.ViewHolder>
  • NullPointerException en ViewPager con Recyclerview
  • Cómo utilizar RecyclerView.scrollToPosition () para mover la posición a la parte superior de la vista actual?
  • ¿Cómo deslizar para borrar en RecyclerView?
  • Desplazar SwipeRefreshLayout con RecyclerView Actualizar en cualquier lugar de android 2.2
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.