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?
- Android solo estableceStackFromEnd solo si RecycleView / List es más grande que la pantalla
- RecyclerView: implementa correctamente la eliminación de SnackBar UNDO (Kotlin)
- ¿Por qué onclick en los ítems de RecyclerView se devuelve una identificación de artículo incorrecta?
- ReciclarVer list de elementos que no aparecen
- ¿Cómo agregar una image más como un button al final de mi RecyclerView en Android?
- La vista de reciclador no se infló. Obteniendo el error "Sin adaptador conectado, omitiendo el layout"
- Android - Kotlin: el object debe declararse abstracto o implementar miembro abstracto
- kotlin RecyclerViewAdapter IndexOutOfBoundException
- Cómo restablecer el contenido de la vista de reciclador en la actividad de llamadas usando Kotlin
- Intentando crear un reciclador simple en Kotlin, pero el adaptador no se está aplicando correctamente
- My RecyclerView no se notifica adecuadamente
- Cómo integrar Admob Native Advanced Ads usando Kotlin - Android
- extensiones kotlin-android en ViewHolder
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.