Перетаскиваю элемент в самый вверх списка.
В фрагменте:
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), видимо, опережает отрисовку измененного списка, нужно как-то удостовериться что отображен новый список, но как это сделать?