RecyclerView animation de elementos, se llama AnimationFinished, pero no está activado en AnimationStarted. ¿Por qué?

myRecyclerView con itemAnimator como a continuación (en Kotlin), para poder escuchar los events de inicio y fin de la animation.

  myRecyclerView.itemAnimator = object : DefaultItemAnimator() { override fun onAnimationFinished(viewHolder: RecyclerView.ViewHolder?) { Log.d("Testing", "I am finished") } override fun onAnimationStarted(viewHolder: RecyclerView.ViewHolder?) { Log.d("Testing", "I am started") } } 

Yo uso DiffUtil para enviar cambios. La animation funciona bien Pero solo se onAnimationFinished callback onAnimationFinished , no onAnimationStarted . ¿Yo me perdí algo?

ItemAnimator#onAnimationStarted y ItemAnimator#onAnimationFinished son llamados por ItemAnimator#dispatchAnimationStarted y ItemAnimator#dispatchAnimationFinished respectivamente.

Del documento de ItemAnimator#dispatchAnimationStarted :

Método para ser llamado por subclasss cuando se inicia una animation.

Después de ver el código fuente de la subclass SimpleItemAnimator y su subclass DefaultItemAnimator , hallé que ItemAnimator#dispatchAnimationStarted no se ha llamado a ninguna parte en ninguna de las subclasss. Sin embargo, se ha invocado ItemAnimator#dispatchAnimationFinished desde las subclasss.

Y es por eso que no recibió ninguna callback para su implementación onAnimationStarted .

Sin embargo, no estoy seguro de si esto se dejó intencionalmente o un error en el marco y no pude encontrar ningún recurso al respecto.

  • Desadaptación del tipo de Kotlin: ¡tipo inferido es Ver! pero se esperaba TextView
  • ¿Cómo cambiar el color de background de una vista de carta cuando se selecciona?
  • RecyclerView.ViewHolder no se vincula correctamente
  • SortedList IndexOutBoundsException: Inconsistencia detectada. La position del artículo no es válida al eliminar el último elemento
  • Haga que los niños de RecyclerView coincidan con la altura de los padres cuando usan el constructor en lugar de inflar para crearlos
  • ¿Cómo uso un onItemLongClickListener en mi actividad en Android?
  • kotlin, android, fragment, vacío, reciclador, vista, después, espalda
  • Implementación onItemClickLitsner en recyclerView Kotlin -android
  • Recyclerview: escucha los events de clic de relleno
  • Extensión de Kotlin no reconocida en el adaptador
  • RecyclerView itemClickListener en Kotlin