Added recycler onChange observer with extension

This commit is contained in:
Aksenov Vladimir 2019-07-05 16:44:56 +03:00
parent 9b52227994
commit 2585e41b9f
2 changed files with 26 additions and 0 deletions

View File

@ -0,0 +1,9 @@
package ru.touchin.extensions
import androidx.recyclerview.widget.RecyclerView
fun RecyclerView.Adapter<out RecyclerView.ViewHolder>.onDataUpdatedAndDrawn(onChanged: () -> Unit) = registerAdapterDataObserver(
object : SimpleDataObserver() {
override fun onChange() = onChanged()
}
)

View File

@ -0,0 +1,17 @@
package ru.touchin.adapters
import androidx.recyclerview.widget.RecyclerView
abstract class SimpleDataObserver : RecyclerView.AdapterDataObserver() {
abstract fun onChange()
override fun onItemRangeChanged(positionStart: Int, itemCount: Int) = onChange()
override fun onItemRangeInserted(positionStart: Int, itemCount: Int) = onChange()
override fun onItemRangeRemoved(positionStart: Int, itemCount: Int) = onChange()
override fun onItemRangeMoved(fromPosition: Int, toPosition: Int, itemCount: Int) = onChange()
}