Android DiffUtil без перемещения элементов

#android #android-recyclerview #android-diffutils

Вопрос:

Я пытаюсь обновить RecyclerView на основе размера (Int), переданного адаптеру. Я бы хотел, чтобы адаптер добавлял или удалял элементы без перемещения каких-либо элементов, как это выглядит сейчас. Я делюсь кодом для DiffUtil ниже:

 fun notifyChanges(newListSize: Int) {
        val diff = DiffUtil.calculateDiff(object : DiffUtil.Callback() {
            override fun areItemsTheSame(oldItemPosition: Int, newItemPosition: Int): Boolean {
                return true
            }
            override fun areContentsTheSame(oldItemPosition: Int, newItemPosition: Int): Boolean {
                return true
            }
            override fun getOldListSize() = columnNumber * rowNumber
            override fun getNewListSize() = newListSize
        })

        // Update number of tiles and dispatch changes
        tilesNumber = newListSize
        diff.dispatchUpdatesTo(this)
    }
 

Затем я называю это так:

 mAdapter.notifyChanges(columnNumber * rowNumber)
 

Любая помощь будет оценена по достоинству.