и посмотреть медиа
Kotlin | Interview Questions
и посмотреть медиа
Interview questions for Kotlin developers with answers.
Interview questions for Kotlin developers with answers.
AI bot for text-to-speech and voice cloning in Telegram. Create audio using neural network quickly and easily.
Kotlin interview questions: extensions, coroutines, collections. With code examples and explanations for Android and backend.
🤔 Как сказать адаптеру перерисовать список, если какой-то элемент удалился? Если удалился элемент из списка, нужно: Удалить его из списка данных. Сообщить Adapter, чтобы он перерисовал только изменённые элементы. 🚩Используем `notifyItemRemoved()` (лучший вариант) Этот метод обновляет только удалённый элемент, сохраняя анимации. fun removeItem(position: Int) { itemList.removeAt(position) // Удаляем из списка данных notifyItemRemoved(position) // Сообщаем адаптеру notifyItemRangeChanged(position, itemList.size) // Обновляем индексы } 🚩Если изменился весь список – `DiffUtil` Если изменился несколько элементов, лучше использовать DiffUtil, чтобы обновить только нужные элементы. class MyAdapter : ListAdapter(DIFF_CALLBACK) { companion object { private val DIFF_CALLBACK = object : DiffUtil.ItemCallback() { override fun areItemsTheSame(oldItem: Item, newItem: Item): Boolean { return oldItem.id == newItem.id } override fun areContentsTheSame(oldItem: Item, newItem: Item): Boolean { return oldItem == newItem } } } } Обновляем список через submitList() fun removeItem(item: Item) { val newList = currentList.toMutableList() newList.remove(item) submitList(newList) // `DiffUtil` сам вычислит, что обновить } 🚩Полное обновление списка (`notifyDataSetChanged()`) Использовать только если изменился весь список! fun removeItem(position: Int) { itemList.removeAt(position) notifyDataSetChanged() // Перерисовывает весь список (медленно) } Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиаOnly registered users can share their opinion.
Be the first to share your impression of this resource!