@Oleg9289

Почему при перемещении элемента в recyclerView scrollToPosition(0) работает неправильно?

Перетаскиваю элемент в самый вверх списка.
В фрагменте:
override fun pinChat(id: String) {
        viewModel.pinChat(id)
        binding.chatList.scrollToPosition(0)
    }

Запрос в базу. (знаю, что во viewModel это не делается, но речь сейчас не об этом)
fun pinChat(id: String) {
        viewModelScope.launch {
            realm.writeBlocking {
                val item: LastChatsStorageItem? =
                    this.query(LastChatsStorageItem::class, "primary = '$id'").first().find()
                item?.isPinned = true
                item?.pinnedPosition = System.currentTimeMillis()
            }
        }
    }

DiffUtil использую.
scrollToPosition(0), видимо, опережает отрисовку измененного списка, нужно как-то удостовериться что отображен новый список, но как это сделать?
  • Вопрос задан
  • 68 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы