Вы можете использовать лямбда-функцию в конструкторе адаптера и прослушивать метод onViewRecycled ListAdapter или RecyclerView.Adapter
class MyAdapter(val onViewRecycled:(Int) -> Unit) :
ListAdapter<Any, CustomViewHolder>(AnyDiffCallback()) {
override fun onViewRecycled(holder: CustomViewHolder) {
super.onViewRecycled(holder)
onViewRecycled(holder.absoluteAdapterPosition)
}
}
Если вы не можете получить доступ к адаптеру, вы можете использовать addOnChildAttachStateChangeListener
с RecyclerView
recyclerView.addOnChildAttachStateChangeListener(object:
RecyclerView.OnChildAttachStateChangeListener {
override fun onChildViewDetachedFromWindow(view: View) {
}
override fun onChildViewAttachedToWindow(view: View) {
}
})