Merge pull request #30 from TouchInstinct/feature/recycler-onchange-observer

Added recycler onChange observer with extension
This commit is contained in:
Aksenov Vladimir 2019-07-05 17:01:16 +03:00 committed by GitHub
commit 835e54b33b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 23 additions and 0 deletions

View File

@ -0,0 +1,23 @@
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()
}
fun RecyclerView.Adapter<out RecyclerView.ViewHolder>.onDataUpdatedAndDrawn(onChanged: () -> Unit) = registerAdapterDataObserver(
object : SimpleDataObserver() {
override fun onChange() = onChanged()
}
)