ListAdapter ne met pas à jour un élément dans RecyclerView : les données changent mais l'interface utilisateur ne se redessine pas
Bonjour à tous ! Je suis débutant en Kotlin et développement Android. J'utilise ListAdapter pour RecyclerView, mais je suis confronté à un problème étrange : lorsque je modifie les données dans la liste et que j'appelle submitList(), les éléments ne se mettent pas à jour à l'écran. Voici mon code :
```kotlin
data class Item(val id: Int, var title: String, var isCompleted: Boolean)
class ItemDiffCallback : 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
}
}
class ItemAdapter : ListAdapter
- (ItemDiffCallback()) {
// ... ViewHolder et bind
}
// Dans Activity
val items = mutableListOf(
Item(1, "Tâche 1", false),
Item(2, "Tâche 2", true)
)
adapter.submitList(items)
// J'essaie de mettre à jour un élément
items[0].isCompleted = true
adapter.submitList(items) // Ne fonctionne pas !
```
Je m
No answers yet.
Connectez-vous pour laisser une réponse
Blogs
Meilleurs IDE et outils pour le développement Swift : niveau avancé
Go get dépôt privé : guide étape par étape
Pourquoi PHP est toujours vivant et populaire : histoire, code et raisons du succès
Kotlin avec JPA : comment vaincre l'enfer du constructeur par défaut